【asp源码栏目提醒】:网学会员为广大网友收集整理了,ASP/ASP/NET/JSP/PHP的区别 - 技术总结,希望对大家有所帮助!
ASP/
ASP.NET/JSP/PHP 简 介:
ASP全名Active Server Pages,是一个WEB服务器端的开发环境,利用它可以产生和执行动态的、互动的、高性能的WEB服务应用程序。
ASP采用脚本语言VBScript(Java script)作为自己的开发语言。
PHP是一种跨平台的服务器端的嵌入式脚本语言。
它大量地借用CJava和Perl语言的语法 并耦合PHP自己的特性使WEB开发者能够快速地写出动态产生页面。
它支持目前绝大多数数据库。
还有一点,PHP是完全免费的,不用花钱,你可以从PHP官方站点http: //www.php.net自由下载。
而且你可以不受限制地获得
源码,甚至可以从中加进你自己需要的特色。
JSP是Sun公司推出的新一代网站开发语言,Sun公司借助自己在Java上的不凡造诣,将Java从Java应用程序和Java Applet之外,又有新的硕果,就是JSP,Java Server Page。
JSP可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序。
ASP.net 是一种建立在通用语言上的程序构架,能被用于一台Web服务器来建立强大的Web应用程序。
ASP.net提供许多比现在的Web开发模式强大的的优势。
三者都提供在 HTML代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。
但JSP代码被编译成 Servlet并由Java虚拟机解释执行,这种编译操作仅在对JSP页面的第一次请求时发生。
在
ASP 、PHP、JSP环境下,HTML代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。
普通的 HTML页面只依赖于Web服务器,而
ASP 、PHP、JSP页面需要附加的语言引擎分析和执行程序代码。
程序代码的执行结果被重新嵌入到HTML代码中,然后一起发送给浏览器。
ASP 、PHP、JSP三者都是面向Web服务器的技术,客户端浏览器不需要任何附加的软件支持。
技术特点
ASP: 1. 使用VBScript 、 JScript等简单易懂的脚本语言,结合HTML代码,即可快速地完成网站的应用程序。
2. 无须compile编译,容易编写,可在服务器端直接执行。
3. 使用普通的文本编辑器,如Windows的记事本,即可进行编辑设计。
4. 与浏览器无关Browser Independence 客户端只要使用可执行HTML码的浏览器,即可浏览Active Server Pages所设计的网页内容。
Active ServerPages 所使用的脚本语言VBScript 、 Jscript均在WEB服务器端执行,客户端的浏览器不需要能够执行这些脚本语言。
5.Active Server Pages能与任何ActiveX scripting语言兼容。
除了可使用VB Script或JScript语言来设计外,还通过plug-in的方式,使用由第三方所提供的其它脚本语言,譬如REXX 、Perl 、Tcl等。
脚本引擎是处理脚本程序的COMComponent Object Model 对象。
6. 可使用服务器端的脚本来产生客户端的脚本。
7. ActiveX Server ComponentsActiveX 服务器组件 具有无限可扩充性。
可以使用Visual Basic 、Java 、Visual C++ 、COBOL等程序设计语言来编写你所需要的ActiveX Server Component 。
PHP: 1??数据库连接 PHP可以编译成具有与许多数据库相连接的函数。
PHP与MySQL是现在绝佳的群组合。
你还可以自己编写外围的函数去间接存取数据库。
通过这样的途径当你更换使用的数据库时,可以轻松地修改编码以适应这样的变化。
PHPLIB就是最常用的可以提供一般事务需要的一系列基库。
但PHP提供的数据库接口支持彼此不统一,比如对Oracle MySQL,Sybase的接口,彼此都不一样。
这也是PHP的一个弱点。
JSP: 1??将内容的产生和显示进行分离 使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。
使用JSP标识或者小脚本来产生页面上的动态内容。
产生内容的逻辑被封装在标识和JavaBeans群组件中,并且捆绑在小脚本中,所有的脚本在服务器端执行。
如果核心逻辑被封装在标识和Beans中,那么其它人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的产生。
在服务器端,JSP引擎解释JSP标识,产生所请求的内容(例如,通过存取JavaBeans群组件,使用JDBC技术存取数据库),并且将结果以HTML(或者XML)页面的形式发送回浏览器。
这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。
2??强调可重用的群组件 绝大多数JSP页面依赖于可重用且跨平台的组件(如:JavaBeans或者Enterprise JavaBeans)来执行应用程序所要求的更为复杂的处理。
开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者用户团体所使用。
基于组件的方法加速了总体开发过程,并且使得各种群组织在他们现有的技能和优化结果的开发努力中得到平衡。
3??采用标识简化页面开发 Web页面开发人员不会都是熟悉脚本语言的程序设计人员。
JavaServer Page技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容产生所需要的。
标准的JSP标识能够存取和实例化 JavaBeans组件,设定或者检索群组件属性,下载Applet,以及执行用其它方法更难于编码和耗时的功能。
由于JSP页面的内置脚本语言是基于Java程序设计语言的,而且所有的JSP页面都被编译成为Java Servlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。
作为Java平台的一部分,JSP拥有Java程序设计语言“一次编写,各处执行”的特点。
随着越来越多的供货商将JSP支持加入到他们的产品中,您可以使用自己所选择的服务器和工具,修改工具或服务器并不影响目前的应用。
ASP.NET 1.增强的性能。
ASP.NET 是在服务器上运行的编译好的公共语言运行库代码。
与被解释的前辈不同,
ASP.NET 可利用早期绑定、实时编译、本机优化和盒外缓存服务。
这相当于在编写代码行之前便显著提高了性能。
2.世界级的工具支持。
ASP.NET Framework 补充了 Visual Studio 集成开发环境中的大量工具箱和设计器。
WYSIWYG 编辑、拖放服务器控件和自动部署只是这个强大的工具所提供功能中的少数几种。
3.简易性和可管理性。
ASP.NET 使执行常见任务变得容易,从简单的窗体提交和客户端身份验证到部署和站点配置。
另外,公共语言运行库利用托管代码服务(如自动引用计数和垃圾回收)简化了开发。
ASP.NET 采用基于文本的分层配置系统,简化了将设置应用于服务器环境和 Web 应用程序。
由于配置信息是以纯文本形式存储的,因此可以在没有本地管理工具帮助的情况下应用新设置。
此“零本地管理”哲学也扩展到了
ASP.NET Framework 应用程序的部署。
即使是在部署或替换运行的编译代码时。
4.可缩放性和可用性。
ASP.NET 在设计时考虑了可缩放性,增加了专门用于在聚集环境和多处理器环境中提高性能的功能。
另外,进程受到
ASP.NET 运行库的密切监视和管理,以便当进程行为不正常(泄漏、死锁)时,可就地创建新进程,以帮助保持应用程序始终可用于处理请求。
5.自定义性和扩展性。
ASP.NET 随附了一个设计周到的结构,它使开发人员可以在适当的级别“插入”代码。
实际上,可以用自己编写的自定义组件扩展或替换
ASP.NET 运行库的任何子组件。
实现自定义身份验证或状态服务一直没有变得更容易。
应用范围
ASP是Microsoft开发的动态网页语言,也继承了微软产品的一贯传统,只能执行于微软的服务器产品IISInternet Information Server windows NT和PWSPersonal Web Serverwindows 98上。
Unix下也有ChiliSoft的组件来支持
ASP,但是
ASP本身的功能有限,必须通过
ASP+COM的群组合来扩充,Unix下的COM实现起来非常困难。
PHP3可在WindowsUnixLinux的Web服务器上正常执行还支持IISApache等一般的Web服务器用户更换平台时无需变换PHP3代码可即拿即用。
JSP同PHP3类似,几乎可以执行于所有平台。
如Win NTLinuxUnix。
在NT下IIS通过一个外加服务器,例如JRUN或者ServletExec,就能支持JSP。
知名的Web服务器Apache已经能够支持JSP。
由于Apache广泛应用在NT、Unix和Linux上,因此JSP有更广泛的执行平台。
虽然现在NT操作系统占了很大的市场份额,但是在服务器方面Unix的优势仍然很大,而新崛起的Linux更是来势不小。
从一个平台移植到另外一个平台,JSP和JavaBean甚至不用重新编译,因为Java字节码都是标准的与平台无关的。
ASP.NET 基于公共语言运行库,因此 Web 应用程序开发人员可以利用整个平台的威力和灵活性。
.NET Framework 类库、消息处理和数据访问解决方案都可从 Web 无缝访问。
ASP.NET 也与语言无关,所以可以选择最适合应用程序的语言,或跨多种语言分割应用程序。
另外,公共语言运行库的交互性保证在迁移到
ASP.NET 时保留基于 COM 的开发中的现有投资。
性能比较 有人做过试验,对这三种语言分别做回圈性能测试及存取Oracle数据库测试。
数据库测试中,三者分别对 Oracle 8 进行 1000 次 InsertUpdateSelect和Delete: JSP 需要 13 秒,PHP 需要 69 秒,
ASP则 需要 73 秒
ASP.NET则 需要 23 秒。
前景分析 目前在国内PHP与
ASP应用最为广泛。
而JSP由于是一种较新的技术,国内采用的较少。
但在国外,JSP已经是比较流行的一种技术,尤其是电子商务类的网站,多采用JSP。
采用PHP的网站如新浪网(sina)、中国人(Chinaren)等,但由于PHP本身存在的一些缺点,使得它不适合应用于大型电子商务站点,而更适合一些小型的商业站点。
首先,PHP缺乏规模支持。
其次,缺乏多层结构支持。
对于大负荷站点,解决方法只有一个:分布计算。
数据库、应用逻辑层、表示逻辑层彼此分开,而且同层也可以根据流量分开,群组成二维数组。
而PHP则缺乏这种支持。
还有上面提到过的一点,PHP提供的数据库接口支持不统一,这就使得它不适合运用在电子商务中。
ASP和JSP则没有以上缺陷,
ASP可以通过Microsoft Windowsd的COM/DCOM获得ActiveX规模支持,通过DCOM和Transcation Server获得结构支持;JSP可以通过SUN Java的Java Class和EJB获得规模支持,通过EJB/CORBA以及众多厂商的Application Server获得结构支持。
四者中,.NET和JSP应该是未来发展的趋势。
世界上一些大的电子商务解决方案提供商都采用JSP/Servlet和.NET框价模式。
比较出名的如IBM的E-business,它们都是通过CGI来提供支持的。
但去年10月后它推出了Enfinity,一个采用JSP/Servlet的电子商务Application Server,另一个才用.NET模块划开发而且声言不再开发传统软件。
总之,ASPASP.NETPHPJSP四者都有相当数量的支持者,由此也可以看出四者各有所长。
正在学习或使用动态页面的朋友可根据四者的特点选择一种适合自己的语言。