简论动态网页动态网页技术:ASP、JSP与PHP比较

更新时间:2024-04-22 作者:用户投稿原创标记本站原创
摘要:最早的网页仅仅由静态文档构成,用户浏览时只能被动接受网页内容。随着Web技术的发展,当今的Web已经不再是早期的静态信息发布平台,它已被赋以更丰富的内涵。现在,我们不仅需要Web提供所需的信息,还需要提供可个性化搜索的功能,可以收发,可以进行网上销售,可以从事电子商务等等。这样就要求Web技术不仅可以在HTML中嵌入程序,而且可以在运行时向HTML文档添加动态内容,从而构成动态网页,用户可以与网页进行交互,对访问者输入的信息作出不同的响应,提供响应的信息。
目前,最常用的三种动态网页语言有ASP(Active Server Pages),JSP(Ja Server Pages),PHP (Hypertext Preprocessor)。
选择哪种语言进行动态网页的设计?就得通过对不同语言进行比较、分析,从而选择最适合自己的方案。
关健词:ASP;JSP;PHP;动态网页技术
:A文章编号:1007-9599 (2012) 12-0000-02

一、三种语言简介

ASP是Microsoft开发的动态网页技术,主要应用于Window NT(2000)+IIS或Windows9x+PWS平台。确切地说ASP不是一种语言,而是WEB服务器端的开发环境。利用ASP支持多种脚本语言,除了VBScript和J源于:毕业论文指导记录www.808so.com
aScript,若要使用其它脚本语言,必须安装相应的脚本引擎。
ASP支持在服务器端调用ActiveX组件ADO对象实现对数据库的操作。从而极大简化了Web数据库访问技术。IIS3。0以下版本的ASP包含一个ADO。IIS是Microsoft公司提供的文件和应用服务器,目前在Window NT4下的版本是IIS4。ASP脚本是在服务器端解释执行的,ADO组件是ASP页面程序访问数据库的关键部分。
PHP是Raus Lerdorf推出的一种跨平台的嵌入式脚本语言,它与ASP相似,是一种服务器端HTML嵌入式的脚本语言。可以在Windows、Unix\Linux等流行的操作系统和IIS、Apache等服务器上运行,用户更换平台时,无需变换PHP代码。
PHP是通过Internet合作开发的开放源代码软件,除了自己的语法,它借用了C、Ja、Perl语言的语法,能够快速写出动态生成页面。PHP可以通过ODBC访问各种数据库,但主要通过函数据直接访问数据库,PHP支持目前绝大多数的数据库,提供许多与各类数据库直接互连的函数,包括Sybasc、Oracle、My SQL等,其中与MYSQL数据库互连最佳组合。
JSP(Ja Server Pages)是Sun公司退出的一种动态网页开发技术。JSP技术是以Ja语言作为脚本语言的,熟悉Ja语言的人可以很快上手。JSP虽然本身也是脚本语言,但是却和PHP、ASP有着本质的区别。PHP和ASP都由语言引擎解释执行程序代码,而JSP代码却被编译成Servlet并由Ja虚拟机执行,这种编译操作仅在对对JSP页面的第一次请求是发生(简单来说,执行效率极快)。
JSP同PHP3类似,几乎可以执行于所有平台。如Win NT,Linux,Unix。在NT下IIS通过一个外加服务器,例如JRUN或者ServletExec,就能支持JSP。知名的Web服务器Apache已经能够支持JSP。由于Apache广泛应用在NT、Unix和Linux上,因此JSP有更广泛的执行平台。虽然现在NT操作系统占了很大的市场份额,但是在服务器方面Unix的优势仍然很大,而新崛起的Linux更是来势不小。从一个平台移植到另外一个平台,JSP和JaBean甚至不用重新编译,因为Ja字节码都是标准的与平台无关的。

二、三种语言的比较

在稳定性上:ASP比PHP稍差一些,最稳定的还是传统的CGI程序,因为它由操作系统负责控制,不会因CGI程序的错误导致WEB服务器的不稳定;
在开始及维护时间上:PHP与ASP都有不错的表现。传统的CGI程序则在视开发工具语言而定,用Perl或Shell script不需要编译的过程,直接就可执行;若用Delph或VC、VB等都要经过编译才能执行;在与网页结合的能力上:ASP与PHP并驾齐驱,其他的方式就不能内嵌HTML语法了,这也是影响开发时间的因素之一;与ASP、PHP相比,JSP开发速度比较慢,但稳定性好。
就系统安全性而言,ASP曾存在较为严重的漏洞(II4。0的一个漏洞),若没有微软的IIS Service Pack处理过,使用::$DATA就可看到ASP的源代码。当然微软现在已推出针对该问题的补丁。另外ASP使用了组件也导致大量的安全问题。传统的CGI程序是由操作系统直接管理,必须由操作系统下手,而不能由WEB服务器下手,故的难度最高。通过许多商业网站的使用,还没有听说有关PHP的安全问题。
在新增功能及改版方面,传统的CGI由于不受任何语言限制,故没有这方面的问题。而PHP是最有活力的,数天至数周就有一个新版本出现,每次新版的发布,都有加入更多的功能并修正更多的错误。而ASP的更新则要视它的WEB服务器改版速度了,ASP要等到II5。0出现时才会有ASP3。0。PHP的系统平台是免费的,代价要低并且程序的稳定性不错。但PHP也有一定缺陷,对不同数据库操作所使用的函数据是不同的,当数据库发生变化时,改会非非常大。另外PHP的安装要相当麻烦,尤其是在IIS上安装更是如此。另外,ASP比PHP要好学。
就扩充性方面,PHP用光了自己的一堆函数以后,要扩充似乎是很困难的。ASP拥有很强的扩充性。你不熟悉vbs,你可以用jscript,你可以用perlscript,你可以通过安装xscript来使用你熟悉的脚本语言。你会vb/delphi/vc/bcb..吗?那你可以写自己的组件,然后用asp来使用它。 ja 同asp一样,ja通过不断增多的(公司发布的或是自己编译的)class来扩展自已。而且jsp与asp相比有一个大的优点:jsp是基于ja的,拥有强大的程序语法和天然的平台无关性。
就执行效率而言, PHP是基于解释型的。 asp发展较早,因此早期的asp1.0、asp2.0、asp3.0都是基于解释的,有同PHP相同的问题。不过自MS的.net以后,asp.net在第一次加载时进行编译,并加载于内存中,因此第一次以后的执行效率已经是相当快速了。 JSP。 ja本身就是属于编译的语言,目前的jsp服务器产品大多是做JIT编译的,JSP在第一次加载时被编译,因而与PHP相比在执行效率上有明显的提高。

三、开发的最佳组合

如今主流的WEB服务器软件主要由IIS或Apache组成。IIS支持ASP且能运行在Windows平台下,Apache支持PHP,CGI,JSP且可运行于多种平台,虽然Apache是世界使用排名第一的WEB服务器平台,但众所周知,Windows以易用而出名,也因此占据不少的服务器市场。
常用的开发组合:
IIS环境下:
四、结束语
在WEB后端的开发语言中,没有效率既高、开发又方便的选择,只是一个权衡的问题。一般,大中型网站考虑到成本和开发周期,PHP是首选,速度快,效率高,开发周期小,开源等。就国内而言,大型的门户站同样是PHP架构,而ASP更多应用于企业的形式网站开发。JSP更多应用于政府银行或大型企事业单位的业务中。
参考文献:
《ASP技术实用教程》、《ASP网络应用系统实用开发技术》
《PHP网络编程技术与实践 》
[3]《网页制作与jsp技术》

点赞:19681 浏览:85002