专业网站建设服务提供商
 
需求提交 | 故障申告 | 常见问题 | 付款方式 | 新闻中心  
  快捷通道: 成都网站建设 万网域名主机分销平台 成都53kf购买 成都400电话办理 网站建设需要的资料
最新签约:
  四川慧修网络科技有限公司 01-14
  四川达源物流有限公司 01-12
  成都中国旅行社有限公司西南分社 01-02
  成都中泰新材料有限公司 11-21
  成都淘源投资咨询有限公司 11-21
  深圳市高富顺电子有限公司 11-21
  成都中金明泰集团股份有限公司 11-21
  成都尹文特科技有限公司 10-26
  成都万安彩印有限公司 10-20
  芳心草园艺 09-29
  四川大策建设工程项目管理有限公 09-29
  四川科佳利环保科技有限公司 09-29
  四川富生股权投资基金管理有限公 08-28
  成都芒果速记服务有限公司 08-20
  四川新诚实钢构工程有限责任公司 08-13
您当前的位置是:首页 >> 常见问题 >> 网站建设常见问题 >> asp,asp.net,php,jsp语言的区别及优势
搜索:  

asp,asp.net,php,jsp语言的区别及优势
更新时间:2012-10-09  阅读次数:9374  【加入收藏】 【关闭窗口

  asp,asp.net,php,jsp语言的区别及各自的优势

  目前,最常用的四种动态网页语言有ASP(Active Server Pages);ASP.NET;JSP(JavaServer Pages);PHP (Hypertext Preprocessor)。

  ASP,全称为Active Server Pages
  ASP是微软(Microsoft)所开发的一种后台脚本语言,它的语法和Visual BASIC类似,可以像SSI(Server Side Include)那样把后台脚本代码内嵌到HTML页面中。虽然ASP简单易用,但是它自身存在着许多缺陷,最重要的就是安全性问题。ASP在执行的时候,是由IIS调用程序引擎,解释执行嵌在HTML中的ASP代码,最终将结果和原来的HTML一同送往客户端。

  ASP.NET
  ASP.NET的前身ASP技术,是在IIS 2.0上首次推出(Windows NT 3.51),当时与 ADO 1.0 一起推出,在IIS 3.0 (Windows NT 4.0)发扬光大,成为服务器端应用程序的热门开发工具,微软还特别为它量身打造了Visual InterDev开发工具,在1994年到2000年之间,ASP技术已经成为微软推展Windows NT 4.0平台的关键技术之一,数以万计的ASP网站也是这个时候开始如雨后春笋般的出现在网络上。

  为了将XSP移植到CLR中,XSP团队将XSP的内核程序全部以C#语言重新撰写(在内部的项目代号是 "Project Cool",但是当时对公开场合是保密的),并且改名为ASP+,作为ASP技术的后继者,并且也会提供一个简单的移转方法给ASP开发人员。ASP+首次的Beta版本以及应用在PDC 2000中亮相,由Bill Gates主讲Keynote(即关键技术的概览),由富士通公司展示使用COBOL语言撰写ASP+应用程序,并且宣布它可以使用Visual Basic.NET、C#、Perl与Python语言(后两者由ActiveState公司开发的互通工具支持)来开发。

  在2000年第二季时,微软正式推动.NET策略,ASP+也顺理成章的改名为ASP.NET,经过四年的开发,第一个版本的ASP.NET在2002年1月5日亮相(和.NET Framework 1.0),Scott Guthrie也成为ASP.NET的产品经理(到现在已经开发了数个微软产品,像ASP.NET AJAX和Microsoft Silverlight)。目前最新版本的 ASP.NET 4.0 以及 .NET Framework 4.0 已经在VS2010平台内应用。目前在微软的 .net 战略中新推出的ASP.net 借鉴了Java技术的优点,使用C Sharp (C#) 语言作为ASP.net的推荐语言,同时改进了以前ASP的安全性差等缺点。但是,使用ASP/ASP.net仍有一定的局限性,因为从某种角度来说它们只能在微软的 Windows NT/2000/XP + IIS的服务器平台上良好运行(虽然像ChilliSoft提供了在UNIX/Linux上运行ASP的解决方案,但是目前ASP在UNIX/Linux上的应用可以说几乎为0)。所以平台的局限性和ASP自身的安全性限制了ASP的广泛应用。

  PHP,全称为PHP: Hypertext Preprocessor

  PHP 的全名非常有趣,它是一个巢状的缩写名称——“PHP: Hypertext Preprocessor”,打开缩写还是缩写。PHP是一种HTML 内嵌式的语言 (就像上面讲的ASP那样)。而 PHP 独特的语法混合了C,Java,Perl以及 PHP 式的新语法。它可以比 CGI 或者 Perl 更快速地执行动态网页。

  PHP的源代码完全公开,在 Open Source 意识抬头的今天,它更是这方面的中流砥柱。不断地有新的函数库加入,以及不停地更新,使得 PHP 无论在 UNIX 或是 Win32 的平台上都可以有更多新的功能。它提供丰富的函数,使得在程式设计方面有着更好的资源。目前PHP的最新版本为4.1.1 ,它可以在Win32以及UNIX/Linux等几乎所有的平台上良好工作。PHP在4.0版后使用了全新的Zend引擎,其在最佳化之后的效率,比较传统 CGI 或者 ASP 等技术有了更好的表现。

  平台无关性是PHP的最大优点,但是在优点的背后,还是有一些小小的缺点的。如果在PHP中不使用ODBC,而用其自带的数据库函数(这样的效率要比使用ODBC高)来连接数据库的话, 使用不同的数据库,PHP的函数名不能统一。这样,使得程序的移植变得有些麻烦。不过,作为目前应用最为广泛的一种后台语言,PHP的优点还是异常明显的。

  JSP,全称为Java Server Pages / Servlet

  JSP和Servlet要放在一起讲,是因为它们都是Sun公司的J2EE(Java 2 platform Enterprise Edition)应用体系中的一部分。

  Servlet的形式和前面讲的CGI差不多,它是HTML代码和后台程序分开的。它们的启动原理也差不多,都是服务器接到客户端的请求后,进行应答。不同的是,CGI对每个客户请求都打开一个进程(Process),而Servlet却在响应第一个请求的时候被载入,一旦Servlet被载入,便处于已执行状态。对于以后其他用户的请求,它并不打开进程,而是打开一个线程(Thread),将结果发送给客户。由于线程与线程之间可以通过生成自己的父线程(Parent Thread)来实现资源共享,这样就减轻了服务器的负担,所以,Java Servlet可以用来做大规模的应用服务。

  虽然在形式上JSP和ASP或PHP看上去很相似——都可以被内嵌在HTML代码中。但是,它的执行方式和ASP或PHP完全不同。在JSP被执行的时候,JSP文件被JSP解释器(JSP Parser)转换成Servlet代码,然后Servlet代码被Java编译器编译成 .class 字节文件,这样就由生成的Servlet来对客户端应答。所以,JSP可以看做是Servlet的脚本语言(Script Language)版。

  由于JSP/Servlet都是基于Java的,所以它们也有Java语言的最大优点——平台无关性,也就是所谓的“一次编写,随处运行(WORA – Write Once, Run Anywhere)”。除了这个优点,JSP/Servlet的效率以及安全性也是相当惊人的。因此,JSP/Servlet虽然在国内目前的应用并不广泛,但是其前途不可限量。

  在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显示。这时,由于JSP是先被转换成Servlet后再运行的,所以,浏览器中所显示的代码出错的行数并不是JSP源代码的行数,而是指转换后的Servlet程序代码的行数。这给调试代码带来一定困难。所以,在排除错误时,可以采取分段排除的方法(在可能出错的代码前后输出一些字符串,用字符串是否被输出来确定代码段从哪里开始出错),逐步缩小出错代码段的范围,最终确定错误代码的位置。

  JSP和ASP相比较:

  运行速度、运行开销、运行平台、扩展性、安全性、函数支持、厂商支持、对XML的支持等等,ASP都不是JSP的对手。COM组件的复杂性实编程实现有一定的难度。而JAVABeans和JAVA的结合却是天衣无缝的。

  JSP和ASP.NET相比较:

  1.相对C#,JSP的脚本语言JAVA也是面向对象的、分布式的、解释的语言。

  2.与C#相似JAVA同样去掉了难以理解的指针等概念,取而代之的是类和对象。

  3. JSP有一项全新的技术――Servlet(服务器端程序)很好的节约了服务器资源。

  4.JAVABeans是针对ASP.NET的Server Control的技术。只要会JAVA, JavaBeans就很容易写出。

  5.再有就是JAVA的JDBC数据库连接技术。

  6.JSP对XML同样有十分广泛的支持。

  1)    面向对象性:
  ASP+将C#作为一种面向对象语言,在很多方面来看,C#将成为微软的与Java相似的语言。
  C#另一个有趣的地方是所有对象都自动变成为COM对象。如果C#能取得很大的市场份额,那么它将给ASP+带来类似于Java的功能,并且具备更快的性能,因为它可以和Windows环境紧密集成。 
   C# 是ASP+开发中一个最重要的功能,微软会将C#发展成为Java的强劲对手。这也是他们.Net框架的一个重要组成部分。我认为C#是微软在编程市场上击败对手的主要工具。我期待着微软能在这个产品后面倾注全力,这样,C#可以成为许多程序员的又一种选择。C#产生的结果是将进一步加固微软和Sun产品的战线。这对用户是有利的,他们可以选择两者之一来开发新的应用。

  2) 数据库连接: 
  ASP另一个亮点是它使用ADO对象,ODBC, OLE-DB和事务处理管理器。因此ASP Web数据库应用开发特别简单。ASP+发展了更多的功能,因为有了ADO+!ADO+带来了更强大更快速的功能。JSP和JDBC目前在易用性和性能上同ASP/ADO相比已有些落后,当新版本ASP+/ADO+出现后这样的差别会更明显。我个人希望SUN应尽快能花大力气来追赶ASP+/ADO+的组合。

  3) 大型站点应用:
    ASP+将对大型站点(web farms)有更好的支持。事实上,微软在这方面付出了巨大的努力。 ASP+可以让你考虑到多服务器(multiple servers)的场合,当你需要更强大的功能时,仅仅只需要增加一台服务器。整个.Net框架已经充分地提供了这个方法。ASP+提供了外部会话状态(external session state)来提供内置式web farm的支持。另外,由于请求的各组件相互间经过了充分的优化,所以速度很快。
  于是ASP+现在可以在大型项目方面与JSP一样具有等同的能力。 而ASP+还有价格方面的优势,因为所有的组件将是服务器操作系统的一部分。对于JSP,你需要购买昂贵的应用服务器群来达到同样的目的。

  4) ASP+还提供更多的其它方面的新特性,例如:
  *内置的对象缓存和页面结果缓存。
  *内置的XML支持,可用于XML数据集的简单处理。
  *服务器控制提供了更充分的交互式控制。
  ASP+确实对ASP进行了较大的发展。

  JSP 和PHP相比较
  JSP是一个业界标准,得到Sun,IBM,Oracle,BEA,Apache等 的支持,PHP只是一个开发组织并不强的free ware ;PHP的性能不好,是解释型的,JSP采用JIT编译后,和c不相上下,而且支持多线程; JSP支持的平台众多,从Win98,NT,Unix,Linux,FreeBSD到AS/400,OS/390,而PHP支持的平台有限; JSP可以利用JDBC和众多主流关系数据库连接,而PHP目前只支持MySql和Oracle等有限的几种; JSP中的组件,JavaBean和EJB开发非常容易,而且还可以在JSP中使用Java所有的类和功能。而PHP只能用C写一些功能有限的组件,而且编写较为复杂; 利用JSP可以支持EJB,以支持Transaction和CORBA标准,而且还可以支持LDAP,Message等服务,使得访问ERP,CICS,MQ等企业应用非常容易。而PHP在这方面先天不足,所以对于电子商务这样的Mission-critical的应用来说,PHP并不适合。
性能比较
  有人做过试验,对这三种语言分别做循环性能测试及存取Oracle数据库测试。在循环性能测试中,JSP只用了令人吃惊的四秒钟就结束了20000*20000的循环。而ASP、PHP测试的是2000*2000循环(少一个数量级),却分别用了63秒和84秒。
  数据库测试中,三者分别对 Oracle 8 进行 1000 次 Insert,Update,Select,和Delete: Jsp 需要 13 秒,Php 需要 69 秒,ASP则 需要 73 秒。

上一篇:什么是二维码
下一篇:App是什么意思
   
  常见问题
  网站建设常见问题
  虚拟主机常见问题
  企业邮局常见问题
  域名注册常见问题
  网站推广常见问题
  400电话申请常见问题
  USB控制软件常见问题
  网站客服软件常见问题
电话:400-005-3721 028-87333721
传真:028-66083721
邮箱:www@scwww.cn
地址:成都市青羊区光华东三路486号3栋11楼12号
点击这里给我发消息  点击这里给我发消息
点击这里给我发消息  点击这里给我发消息 点击这里给我发消息
首页 | 关于我们 | 新闻中心 | 人力资源 | 企业家风采 | 客户成功故事 | 友情链接 | 联系我们 | 返回顶部
服务热线:400-005-3721 028-87333721 电子邮箱:www@scwww.cn 地址:成都市青羊区光华东三路486号3栋11楼12号
传真:028-66083721 邮编:610091 网址:www.scwww.cn
Copyright © 2010 四川万维科技有限公司 All Rights Reserved   蜀ICP备11006886号