ASP PHP JSP区别
用户评价: / 37
好 
作者:Web master   
周二, 2009年 05月 12日 19:54

一、首先介绍几个名词
● HTML(超文本标记语言):HTML命令可以说明文字、图形、动画、声音、表格、链接等。HTML的结构包括头部(Head)、主体(Body)两大部分,其中头部描述浏览器所需的信息,而主体则包含所要说明的具体内容。
● 脚本语言,是一种解释性的语言,例如vbscript,javascript,等等,它不象c\c++等可以编译成二进制代码,以可执行文件的形式存 在.。脚本语言不需要编译,可以直接用,由解释器来负责解释。这种语言写的文件都可以用文本编辑器打开,比如asp\jsp。
● 静态页面:页面由html构成,后缀名*.html、*htm,页面的内容是直接写在html文件中,不会变化(部分页面上会有一些js特效,看起来页面会动)。
● 动态页面:后缀jsp、asp、php等,页面显示的内容由于服务端数据的不同显示不同。
● Web服务器:当Web服务器接收到一个HTTP请求(request),会返回一个HTTP响应(response),例如送回一个HTML页面。为了 处理一个请求(request),Web服务器可以响应(response)一个静态页面或图片,进行页面跳转(redirect),或者把动态响应 (dynamic response)的产生委托(delegate)给一些其它的程序例如JSP(JavaServer Pages)脚本,servlets,ASP(Active Server Pages)脚本。分(jsp服务器、asp服务器、html)。
● 客户端:b/s结构中,通常指ie浏览器。
二、什么是ASP、JSP、PHP
ASP:
    ASP全名Active Server Pages,是一个WEB服务器端的开发环境,利用它可以产生和执行动态的、互动的、高性能的WEB服务应用程序。ASP采用脚本语言VBScript(Java script)作为自己的开发语言。
PHP:
    PHP是一种跨平台的服务器端的嵌入式脚本语言。它大量地借用C,Java和Perl语言的语法, 并耦合PHP自己的特性,使WEB开发者能够快速地写出动态产生页面。
JSP:
    JSP全名Java Server Page,是以Java语言作为脚本语言的技术。JSP可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序,在普通的html代码中嵌入java代码。可以跨平台部署。
三、技术特点:
1、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甚至还可以完成中等规模的企业应用。
2、PHP
    跨平台,性能优越,跟Linux/Unix结合别跟Windows结合性能强45%,并且和很多免费的平台结合非常省钱,比如LAMP(Linux /Apache/Mysql/PHP)或者FAMP(FreeBSD/Apache/Mysql/PHP)结合,或者数据应用够大可以考虑换 PostgreSQL或者Oracle,支持N种数据库。(N >= 10)
    语法简单,如果有学习C和Perl的很容易上手,并且跟ASP有部分类似。有成熟的开发工具,比如NuPHPed,或者Zend Studio等等,再Linux平台下可以使用Eclipse等等。
    目前主流技术都支持,比如WebService、Ajax、XML等等,足够应用。
    有比较完整的支持,比如使用ADODB或者PEAR::DB做数据库抽象层,用Smarty或者smart template做模板层,如果是PHP 5.1的话,还能够使用PDO(PHP Data Object)来访问数据库。
    有很多成熟的框架,比如支持MVC的框架:phpMVC,支持类似ASP.net的事件驱动的框架:Prado,支持类似Ruby On Rails的快速开发的框架:Cake等等,足够满足你的应用需求。
    PHP5已经有成熟的面向对象体系,能够适应基本的面向对象要求。适合开发大型项目。有成熟的社区来支持PHP的开发,比如国内的CSDN,喜悦国际村等等。
    目前已经很多大型应用都是使用PHP,比如淘宝网、Yahoo、163、Sina等等大型门户,很多选用PHP来作为他们的开发语言,所以大型门户都能够选用它,我想足够能够你的使用了。
3、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)几乎成为唯一的选择。
四、应用范围:
   
1、ASP是Microsoft开发的动态网页语言,也继承了微软产品的一贯 传统,只能执行于微软的服务器产品,IIS(Internet Information Server) (windows NT)和PWS(Personal Web Server)(windows 98)上。Unix下也有ChiliSoft的组件来支持ASP,但是ASP本身的功能有限,必须通过ASP+COM的群组合来扩充,Unix下的COM 实现起来非常困难。
    2、PHP可在Windows,Unix,Linux的Web服务器上正常执行,还支持IIS,Apache等一般的Web服务器,用户更换平台时,无需变换PHP3代码,可即拿即用。
    3、JSP同PHP3类似,几乎可以执行于所有平台。如Win NT,Linux,Unix。在NT下IIS通过一个外加服务器,例如JRUN或者ServletExec,就能支持JSP。知名的Web服务器 Apache已经能够支持JSP。由于Apache广泛应用在NT、Unix和Linux上,因此JSP有更广泛的执行平台。虽然现在NT操作系统占了很 大的市场份额,但是在服务器方面Unix的优势仍然很大,而新崛起的Linux更是来势不小。从一个平台移植到另外一个平台,JSP和JavaBean甚 至不用重新编译,因为Java字节码都是标准的与平台无关的。
五、前景分析
   
JSP属于编译后执行,执行速度比较快。 PHP次之,ASP最慢。
     PHP缺乏规模支持。缺乏多层结构支持。对于大负荷站点,解决方法只有一个:分布计算。数据库、应用逻辑层、表示逻辑层彼此分开,而且同层也可以根据流量 分开,群组成二维数组。而PHP则缺乏这种支持。还有上面提到过的一点,PHP提供的数据库接口支持不统一,这就使得它不适合运用在电子商务中。
    ASP和JSP则没有以上缺陷,ASP可以通过Microsoft Windowsd的COM/DCOM获得ActiveX规模支持,通过DCOM和Transcation Server获得结构支持;JSP可以通过SUN Java的Java Class和EJB获得规模支持,通过EJB/CORBA以及众多厂商的Application Server获得结构支持。三者中,JSP应该是未来发展的趋势。世界上一些大的电子商务解决方案提供商都采用JSP/Servlet。比较出名的如 IBM的E-business,它的核心是采用JSP/Servlet的Web Sphere。它们都是通过CGI来提供支持的。但去年10月后它推出了Enfinity,一个采用JSP/Servlet的电子商务 Application Server,而且声言不再开发传统软件。

 

评论信息

分享到: