陈丹青图片:动态网页该学ASP,JSP,还是PHP?哪一种比较好比较流行一些?

来源:百度文库 编辑:中科新闻网 时间:2024/05/05 13:55:47
1.我有C语言基础,
2.也学了一点Javascript
3.回答尽量详细些,谢谢!

引用了太多文献估计你也没心情看
我就想发表一下我的观点,你要是说流行 现在JSP 和.net都不错
至于ASP PHP可以放放~
关于他们的优势,应该说各有利弊。
如果你有C基础 你学.net能上手快些
JSP主要用的是JAVA语言
还是看你的主观意见了,JSP相关的servlet struts hibernate适合做大型网站,若你喜欢做小规模的公司的网站那就直接学.net吧~
希望我的建议对你有帮助。

各有所长

PHP

PHP(Hypertext Preprocessor)是一种嵌入HTML页面中的脚本语言。它大量地借用C和Perl语言的语法, 并结合PHP自己的特性,使Web开发者能够快速地写出动态产生页面。

PHP是完全免费的开源产品,不用花钱,Apache和MYSQL也是用样免费开源,在国外非常流行,PHP和MYSQL搭配使用,可以非常快速的搭建一套不错的动态网站系统,因此国外大多数主机系统都配有免费的APACHE+PHP+MYSQL。通常认为这种搭配的执行效率比IIS+ASP+ACCESS要高,而后者的使用还必须另外交钱给微软。

PHP的语法和Perl很相似,但是PHP所包含的函数却远远多于Perl,PHP没有命名空间,编程时候必须努力避免模块的名称冲突。一个开源的语言虽然需要简单的语法和丰富的函数,但PHP内部结构的天生缺陷导致了PHP不适合于编写比小型业余网站更大的网站。

PHP开发的成功案例:

MediaWiki — 著名的维基百科(Wiki)程序,如此庞大的条目居然只用PHP+MYSQL就能够支持,真是不可思议。

WordPress — 著名的Blog系统,功能上丝毫不输于Movable Type,不少用户都纷纷从Movable Type转移到了WordPress。

结论:PHP因为结构上的缺陷,使的其只适合编写小型的网站系统。

ASP

ASP(Active Server Pages)微软的Windows IIS系统自带的脚本语言,利用它可以执行动态的Web服务应用程序。ASP的语法非常类似Visual BASIC,学过VB的人可以很快上手,ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。

因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。

ASP在国内异常流行,因为国内大多使用的是盗版的Windows和盗版的SQLServer,而ASP+COM+SQLServer实际上也是一种不错的搭配,其性能也不输于PHP+MYSQL,特别是Windows系统和SQLServer都有图形界面,比APACHE和MYSQL易于维护,因此对于不重视知识产权的国家来说也是一种不错的选择。

不过,正因为ASP很简单,所以单纯使用ASP所能完成的功能也是有限的,好在COM(Component Object Model)技术拯救了ASP,微软提供了COM/DCOM技术,极大拓宽了ASP的应用范围,使得ASP几乎具有无限可扩充性。

结论:ASP简单而易于维护,是小型网站应用的最佳选择,通过DCOM和MTS技术,ASP甚至还可以完成中等规模的企业应用。

JSP

JSP(JavaServer Pages)是Sun公司推出的一种动态网页技术。JSP技术是以Java语言作为脚本语言的,熟悉JAVA语言的人可以很快上手。

JSP本身虽然也是脚本语言,但是却和PHP、ASP有着本质的区别。PHP和ASP都是由语言引擎解释执行程序代码,而JSP代码却被编译成Servlet并由Java虚拟机执行,这种编译操作仅在对JSP页面的第一次请求时发生。因此普遍认为JSP的执行效率比PHP和ASP都高。

JSP在技术结构上有着其他脚本语言所没有的优势:JSP可以通过JavaBean等技术实现内容的产生和显示相分离,并且JSP可以使用JavaBeans或者EJB(Enterprise JavaBeans)来执行应用程序所要求的更为复杂的处理,进而完成企业级的分布式的大型应用。

因此,不少国外的大型企业系统和商务系统都使用JSP技术,作为采用Java技术家族的一部分,JSP技术也能够支持高度复杂的基于Web的应用。

结论:对于脚本语言来讲,JSP还是拥有相当大的优势的,虽然其配置和部署相对其他脚本语言来说要复杂一些,但对于跨平台的中大型网站系统来讲,基于JAVA技术的JSP(结合JavaBean和EJB)几乎成为唯一的选择。

我个人意见是如果你选择跨平台性好且功能相对强大的话建议选择JSP

PHP和ASP差不多都属于脚本语言,ASP和MSSQL结合比较能发挥优势,因为毕竟都是微软的东西,PHP+MYSQL结合较好!
只要能学精其实都很不错!
其实javascript和jsp还是有一定差距的,JSP可以学得很深~自己选择咯~
你的分~给我吧!嘿嘿~

JSP确实现在用的很广
但ASP和PHP也右非常大的优势

建议你主学JSP ASP和PHP也要学点

互相弥补不足的地方

being concentrated.

现在进行 Web 开发时,您有许多选择。这些方法中许多都涉及到预处理 — 即,利用特定的标记将代码嵌入到 HTML 页面中,这些标记告诉预处理器,它们包含代码,并且应对它们作出处理。与 CGI 非常相似,这些代码在服务器上运行,并返回一些内容,这些内容表现为发回给浏览器的结果 HTML 页面的部分外观。开放源代码脚本语言 PHP 和 Microsoft 的 ASP.NET 框架中的语言都属于这种类型;JavaServer Pages (JSP) 和 Perl/Mason 也以这种方式运行。

在此,我将重点讲述 PHP — Oracle 已选择合并到其产品中的技术 — 和 ASP.NET。我将概述两者的各种优势和弱点,并着重讨论那些将帮助您决定开发项目应选择哪种技术的因素。有很多因素需要考虑,不同的项目可能诉诸于不同的技术。总之,您将看到在价格、速度和效率、安全性、跨平台支持等方面的逐项比较,以及开放源代码解决方案的优势。

什么是 ASP.NET

ASP 最新的版本 ASP.NET 并不完全与 ASP 早期的版本后向兼容,因为该软件进行了完全重写。早期的 ASP 技术实际上与 PHP 的共同之处比与ASP.NET 与 PHP的共同之处多得多,ASP.NET 是用于构建 Web 应用程序的一个完整的框架。这个模型的主要特性之一是选择编程语言的灵活性。ASP.NET 可以使用脚本语言(如 JScript、VBScript、Perlscript 和 Python)以及编译语言(如 VB、C#、C、Cobol、Smalltalk 和 Lisp)。新框架使用通用的语言运行环境 (CLR);先将您语言的源代码编译成 Microsoft 中间语言代码,然后 CLR 执行这些代码。

这个框架还提供真正的面向对象编程 (OOP),并支持真正的继承、多态和封装。.NET 类库根据特定的任务(例如,使用 XML 或图像处理)组织成可继承的类。

除了编程语言和方法之外,当您用 ASP.NET 编程时,可以用 ODBC 来集成数据库;ODBC 提供了一组一致的调用函数来访问您的目标数据库。

优势和弱点

ASP.NET 的优势很明显在于它简洁的设计和实施。这是面向对象的编程人员的梦想:语言灵活,并支持复杂的面向对象特性。在这种意义下,它真正能够与编程人员现有的技能进行互操作。

ASP.NET 的另一个优势是其开发环境。例如,开发人员可以使用 WebMatrix(一个社区支持的工具)、Visual Studio .NET 或各种 Borland 工具(如 Delphi 和 C++ Builder)。例如,Visual Studio 允许设置断点、跟踪代码段和查看调用堆栈。总而言之,它是一个复杂的调试环境。许多其他第三方的 ASP.NET IDE 解决方案也将必然出现。

但是ASP.NET强健性,是以损失效率为代价的。ASP.NET 在内存使用和执行时间方面耗费非常大,这大部分归因于较长的代码路径。对基于 Web 的应用程序,这些局限可能是一个严重的问题,因为在 Web 上,您的应用程序可能扩展为每秒成千上万的用户。内存使用率还可能成为 Web 服务器上的一个问题。

什么是 PHP

PHP 是基于预处理 HTML 页面模型的一种脚本语言。当 Web 服务器中的 PHP 预处理器发现像下面这样的 PHP 语言标记时,将调用 PHP 引擎来执行该代码:

<?php
代码
?>

使用过命令式编程语言的编程人员都将会对 PHP 非常熟悉;您会发现它与 Perl、C 和 Java 在语法上很相似。严格来讲,Java 是一种命令式编程语言,但它也利用了面向对象的结构和概念。PHP 在适宜的时候借鉴了这种结构,但它不是一种纯粹的 OOP 语言。

在上面对 ASP.NET 的讨论中,我提到了 ODBC 驱动程序,以及在考虑数据库抽象的情况下如何构建应用程序。在 PHP 中,您也可以使用 ODBC 与数据库对话,因此您已经有了一系列支持的数据库可供选择。也有 MySQL、Oracle 和 Postgres 的原生驱动程序。此外,如果要使用 Oracle,则有一个特殊的 OCI8 库将提供对 Oracle 更多访问功能,从而允许您使用诸如 LOB、BLOB、CLOB 和 BFILE 之类的特性。

这时您可能会问“为什么与数据库相关的资料库被称为 PHP 的特性?”数据库抽象或独立性是您在设法构建使用多种数据库或需要在数据库间移植(例如,从开发到投产时的移植)的应用程序时所要考虑的一个因素。而这些确实是应该关心和考虑的。

但正如 Tom Kyte 在他的新书 — Effective Oracle by Design (Oracle 出版社) — 中指出的那样,数据库相关性将成为您真正的目标,因为这将使您在该技术中的投资最大化。如果您对 Oracle 进行一般的访问 — 无论通过 ODBC 或 Perl 的 DBI 库,那么您将无法使用其他数据库所不具有的特性。此外,优化查询在各个数据库中各不相同。

Zend Technologies 是一家商业软件公司,它对 PHP 作出了重大贡献。它创建了一个称为 Zend Studio 的商业开发环境,这个环境包含了一个复杂的调试器、一个监测器和其他特性。该公司还构建了免费的 Zend Optimizer,它与 Zend Encoder 结合使用来编译 PHP 代码,以提升性能。还有其他商业产品,如 Zend Performance Suite,它可以缓存预编译的 PHP 页面,从而进一步显著提升总体性能。

优势和弱点

到测试版 4 为止,PHP 5 仍然有一些缺点,包括缺少异常和基于事件的错误处理例程 — 它们能够中断正常的程序流,并将代码跳转到一个特殊的错误处理部分。Java 也提供了用于错误处理的异常,而 C++ 通过 try、catch 和 throw 语法提供异常处理。当然,您仍然可以在 PHP 中管理错误,但其结构不是标准化的,因而使得编程人员必须使用自己的工具来决定执行错误处理的方式,这将导致更低的一致性并往往导致推倒重来。

另一个弱点是 PHP 的函数名是不区分大小写的。虽然这不是一个严重的缺点,但有些程序员可能会觉得这一特性很讨厌。

不过,我的确对 PHP 的对象模型心存疑虑。PHP 不是专门设计为一种面向对象的语言。这些特性中的一部分是后来添加的 — 尽管注意了保持与 PHP 3 的后向兼容性,因此两种模型的特性都留有一些。实际上,在 PHP 5 中这些弱点中的许多都得到了解决。请留心关注。

PHP 在一些领域中缺少什么,它就会在擅长的领域中迅速地弥补什么。价格合理,因此您不需要担心许可问题。它也是开放源代码的,因此整个社区将密切关注开发过程:发现错误并将其修复。如果有一个特性您不喜欢,那么您可以修改代码。此外,PHP 可与 Apache 自然结合:它可以作为一个模块编译,或直接编译成 Apache 二进制文件。

但在 Apache 上运行意味着,利用 PHP,您能够利用您已经在任意服务器投资,这是因为 Apache 能够运行在 Windows、Linux、Solaris 和各种其他 Unix 平台上。此外,使用拥有 Apache 的跟踪记录的 web 服务器意味着安全性能够保持在最高的优先级上。最后,PHP 拥有更小的代码路径,这意味着更少的分析和执行 PHP 页面服务器端代码,这将带来更高效的内存和使用率以及更快的运行。

在 PHP 5 中新增了哪些特性?

PHP 5 的第 4 个测试版在 2003 年 12 月底推出,更改日志清楚地显示已发现许多错误并已将其消除。虽然它仍在进行测试,但它的所有新特性和进步都确实值得关注。

PHP 5 的主要新成就在于它的异常处理和一个新对象,这个新对象引入的特性赋予了 PHP 真正的 OOP。异常处理无疑是 PHP 4 中最显著的缺憾之一,而 PHP 5 对异常处理的引入无疑是一个成熟的标志。异常处理意味着您在您的软件中拥有了根据语言定义的和标准化的错误处理方法。只需使用 try、catch 和 throw 方法,您的 PHP 代码就变得更加强健和简洁。

<?php

class blue {

function openFile ($inFile) {
if (file_exists ($inFile)) {
# code to open the file here
} else {
throw new Exception
("Cannot open file:$inFile");
}
}
}

$blueObj = new blue ();

try {
$blueObj->openFile ('/home/shull/file.txt');

} catch (Exception $myException) {
echo $myException->getMessage ();

# rest of exception handling code here
}

# rest of blue methods here

?>

新的对象模型为用 PHP 编写的程序带来许多积极的影响。在 PHP 4 中,当把将一个对象传递给函数或方法时,是通过值来传递的 — 除非您另行显式告知 PHP。这个过程意味着必须复制对象的一个副本(内存中的所有数据结构)。这个步骤使用内存,使得访问变慢和拥塞。而在 PHP 5 中,通常通过引用传递对象。

PHP 5 中新的面向对象的特性(包括构造器和析构器)值得关注。与 C++ 和 Java 相同,它们提供了一种标准方法,即通过一个构造器方法来创建对象、分配内存和执行任何必要的设置,并通过一个析构器方法来执行清理。

PHP 5 还引入了对类中方法和变量的更精细控制。在 PHP 4,一切都是公有的:您可以从类外或在继承类中访问您类中的变量。在 PHP 5 中,您仍然可以使变量或方法为公有,但您也可以使它们为私有,以使得只能在类本身中使用它们。还可以将它们保护起来,也就是说,可以在类内或在子类中查看方法和变量。

此外,PHP 5 引进了类型提示或更好的类型检查。当您将一个对象传递给一个例程时,PHP 能够检查它是否是正确的类型,并在检查失败时产生类型不匹配错误。

还有其他特性(如静态方法和变量以及抽象类)。

php拉,它最快,最安全,并且源码免费