本文目录一览:
- 1、jsp asp php .net哪个是今后网站建设的主流技术,另外现在这几种技术在网站中的份额,谢了。
- 2、PHP JSP ASP.NET ASP 市场份额占比如何?
- 3、Asp、Php、Jsp区别?
- 4、对Servlet技术与CGI、ASP、PHP、JSP等动态网页技术进行具体的比较。
jsp asp php .net哪个是今后网站建设的主流技术,另外现在这几种技术在网站中的份额,谢了。
现在主流的网站开发语言无外乎asp、php、asp.net、jsp等。
ASP占着价钱便宜,操作方便的优势一直在小型网站占有一定份额;一般大型网站公司管理系统用大部分是ASP.NET;政府机关网站很多是JSP;PHP前期处于中间半开不红状态,这几年的份额比例也在逐渐上涨中,前景很大啊。
其实语言都是想通的,建议先学ASP。ASP模型会了,后面几个也就不难了。
ASP(VBS,VCS,JS)
优点:
1. 无需编译
2. 易于生成
3. 独立于浏览器
4. 面向对象
5. 与任何ActiveX scripting 语言兼容
6. 源程序码不会外漏
7. 价钱便宜
缺点:
1、Windows本身的所有问题都会一成不变的也累加到了它的身上。安全性、稳定性、跨平台性都会因为与NT的捆绑而显现出来。
2、ASP由于使用了COM组件所以它会变的十分强大,但是这样的强大由于Windows NT系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意,哪么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失。
3、由于ASP还是一种Script语言所没除了大量使用组件外,没有办法提高其工作效率。它必须面对即时编绎的时间考验,同时我们还不知其背后的组件会是一个什么样的状况。
4、无法实现跨操作系统的应用。当然这也是微软的理由之一,只有这样才能发挥ASP最佳的能力。可是我却认为正是Windows限制了ASP,ASP的概念本就是为一个能让系统运行于一个大的多样化环境而设计的。
5、还无法完全实现一些企业级的功能:完全的集群、负载均横。
6、版权问题
ASP.NET(ASP+VB.NET/C#)
优点:
1. 简洁的设计和实施。
2. 语言灵活,并支持复杂的面向对象特性。
3. 开发环境。
缺点:
1、VS软件兼容问题
2、版权问题
JSP(ASP+JAVA)
优点:
1、 一处编写随处运行。
2、 系统的多台平支持。
3、 强大的的可伸缩性。
4、 多样化和功能强大的开发工具支持。
缺点:
1、 与ASP一样,Java的一些优势正是它致命的问题所在。
2、 缺少系统性的资料。
3、 速度超慢
PHP(ASP VCS进化过来的语言,结合了C++和自身的语法)
优点:
1、 一种能快速学习、跨平台、有良好数据库交互能力的开发语言。
2、 简单轻便,易学易用。
3、 与Apache及其它扩展库结合紧密。
4、 良好的安全性。
缺点:
1、 数据库支持的极大变化。
2、 不适合应用于大型电子商务站点
3、 安装复杂。
4、 缺少正规的商业支持。
5、 无法实现商品化应用的开发。
PHP JSP ASP.NET ASP 市场份额占比如何?
PHP是最多的,不用质疑。其次是ASP,再次是JSP,再到ASP.NET。
▌No
恋Σ爱
说JSP是鸡肋我很不认同。试问有多少著名银行的网站在线支付的那一块不是用JSP做的。.net我是没见的。大公司不知道你是指那些大公司?淘宝,百度,GOOGLE,腾讯,新浪,豆瓣没有一个是用.net~~~
CSDN,当当网的确是用DOTNET。但你说那一个网站速度快又漂亮?但不要跟我讲“世界第一的微软是用DOTNET。”那是一句废话。
我觉得部份公司之所以用.net是因为开发相对容易简单吧,对于个别需求针对性强的基本上都是用开源的代码来做。
Asp、Php、Jsp区别?
ASP全名Active Server Pages,是一个WEB服务器端的开发环境,利用它可以产生和执行动态的、互动的、高性能的WEB服务应用程序。ASP采用脚本语言VBScript(Java script)作为自己的开发语言。
PHP是一种跨平台的服务器端的嵌入式脚本语言。它大量地借用C,Java和Perl语言的语法, 并耦合PHP自己的特性,使WEB开发者能够快速地写出动态产生页面。它支持目前绝大多数数据库。还有一点,PHP是完全免费的,不用花钱,你可以从PHP官方站点(http: //)自由下载。而且你可以不受限制地获得源码,甚至可以从中加进你自己需要的特色。
JSP是Sun公司推出的新一代网站开发语言,Sun公司借助自己在Java上的不凡造诣,将Java从Java应用程序和Java Applet之外,又有新的硕果,就是JSP,Java Server Page。JSP可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序。
三者都提供在 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等。脚本引擎是处理脚本程序的COM(Component Object Model) 对象。
6. 可使用服务器端的脚本来产生客户端的脚本。
7. ActiveX Server Components(ActiveX 服务器组件 )具有无限可扩充性。可以使用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技术是可以扩展的。今后,第三方开发人员和其它人员可以为常用功能建立自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。
JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。作为采用Java技术家族的一部分,以及Java 2EE的一个成员,JSP技术能够支持高度复杂的基于Web的应用。
由于JSP页面的内置脚本语言是基于Java程序设计语言的,而且所有的JSP页面都被编译成为Java Servlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。
作为Java平台的一部分,JSP拥有Java程序设计语言“一次编写,各处执行”的特点。随着越来越多的供货商将JSP支持加入到他们的产品中,您可以使用自己所选择的服务器和工具,修改工具或服务器并不影响目前的应用。
应用范围
ASP是Microsoft开发的动态网页语言,也继承了微软产品的一贯传统,只能执行于微软的服务器产品,IIS(Internet Information Server) (windows NT)和PWS(Personal Web Server)(windows 98)上。Unix下也有ChiliSoft的组件来支持ASP,但是ASP本身的功能有限,必须通过ASP+COM的群组合来扩充,Unix下的COM实现起来非常困难。
PHP3可在Windows,Unix,Linux的Web服务器上正常执行,还支持IIS,Apache等一般的Web服务器,用户更换平台时,无需变换PHP3代码,可即拿即用。
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字节码都是标准的与平台无关的。
性能比较
有人做过试验,对这三种语言分别做回圈性能测试及存取Oracle数据库测试。
在循环性能测试中,JSP只用了令人吃惊的四秒钟就结束了20000*20000的回圈。而ASP、PHP测试的是2000*2000循环(少一个数量级),却分别用了63秒和84秒。(参考PHPLIB)。
数据库测试中,三者分别对 Oracle 8 进行 1000 次 Insert,Update,Select和Delete: JSP 需要 13 秒,PHP 需要 69 秒,ASP则 需要 73 秒。
前景分析
目前在国内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获得结构支持。
三者中,JSP应该是未来发展的趋势。世界上一些大的电子商务解决方案提供商都采用JSP/Servlet。比较出名的如IBM的E-business,它的核心是采用JSP/Servlet的Web Sphere。它们都是通过CGI来提供支持的。但去年10月后它推出了Enfinity,一个采用JSP/Servlet的电子商务Application Server,而且声言不再开发传统软件。
总之,ASP,PHP,JSP三者都有相当数量的支持者,由此也可以看出三者各有所长。正在学习或使用动态页面的朋友可根据三者的特点选择一种适合自己的语言。
对Servlet技术与CGI、ASP、PHP、JSP等动态网页技术进行具体的比较。
CGI与JSP最明显的区别就是:
CGI是一个进程处理一个请求的。如果有10个人在线,那么就得开10个进程。
php、asp、jsp都是一个进程处理多个请求的,无论多少人在线,都只有一个进程。
与传统的CGI方式相比:
a. 后台实现逻辑是基于Java Component的,具有跨平台的特点
b. 将应用逻辑与页面表现分离,使得应用逻辑能够最大程度得到复用,从而提高开发效率
c. 运行比CGI方式高,尤其对于数据库访问时,提供了连接池缓冲机制,使运行所需资源最小
d. 安全,由于后台是完全基于Java技术的,安全性由Java的安全机制予以保障
e. 由于与ASP很近似,不需要太多的编程知识就可以动手编写JSP
f. 内置支持XML,使用XML从而使页面具有更强的表现力和减少编程工作量
下面讲的比较详细:分别将JSP、ASP、PHP两两比较。
与Asp和php的比较:
目前,最常用的三种动态网页语言有ASP(Active Server Pages),JSP(Java Server Pges),PHP (Hypertext Preprocessor)。
ASP全名Active Server Pages,是一个WEB服务器端的开发环境,利用它可以产生和运行动态的、交互的、高性能的WEB服务应用程序。ASP采用脚本语言VB Script(Java script)作为自己的开发语言。
PHP是一种跨平台的服务器端的嵌入式脚本语言. 它大量地借用C,Java和Perl语言的语法, 并耦合PHP自己的特性,使WEB开发者能够快速地写出动态生成页面.它支持目前绝多数数据库。还有一点,PHP是完全免费的,不用花钱,你可以从PHP官方站点()自由下载。而且你可以不受限制地获得源码,甚至可以从中加进你自己需要的特色。
JSP 是Sun公司推出的新一代站点开发语言,他完全解决了目前ASP,PHP的一个通病--脚本级执行(据说PHP4 也已经在Zend 的支持下,实现编译运行).Sun 公司借助自己在Java 上的不凡造诣,将Java 从Java 应用程序 和 Java Applet 之外,又有新的硕果,就是Jsp--Java Server Page。Jsp 可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序。
三者都提供在 HTML 代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。但JSP代码被编译成 Servlet 并由 Java 虚拟机解释执行,这种编译操作仅在对 JSP页面的第一次请求时发生。在 ASP 、PHP、JSP 环境下, HTML 代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。普通的 HTML 页面只依赖于 Web 服务器,而 ASP 、PHP、JSP 页面需要附加的语言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入到 HTML 代码中,然后一起发送给浏览器。 ASP 、PHP、 JSP三者都是面向 Web 服务器的技术,客户端浏览器不需要任何附加的软件支持。
JSP vs ASP
JSP跨平台,而且支持Apache, Netscape, IIS,IBM Http Server在内的所有主流Web Server (市场份额在85%以上),而ASP目前只支持NT+IIS(市场份额在20%左右);提供了更好的安全机制,这对于e-business这样的应用来说是至关重要的; JSP可以跨操作系统、Web Server和应用服务器,而ASP只限于NT+IIS;
JSP是一个开放的标准,得到了Oracle, Netscape, IBM WebLogic, Inprise等的支持;JSP的组件编写更为容易,而且JSP的性能由于ASP;
JSP vs 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 秒。
前景分析
目前在国内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获得结构支持。
三者中,JSP应该是未来发展的趋势。世界上一些大的电子商务解决方案提供商都采用JSP/Servlet。比较出名的如IBM的E-business,它的核心是采用JSP/Servlet的WebSphere;西方另外一个非常著名的电子商务软件提供商,Intershop。它原来的产品Intershop1 2, 3, 4占据了主要的电子商务软件份额。它们都是通过CGI来提供支持的。但去年10月后它推出了Enfinity,一个采用JSP/Servlet的电子商务Application Server,而且声言不再开发传统软件。
JSP应用范围:
JSP同PHP类似,几乎可以运行于所有平台。如Win NT,Linux,Unix. NT下IIS通过一个插件,例如JRUN或者ServletExec,就能支持JSP。著名的Web服务器Apache已经能够支持JSP。由于Apache广泛应用在NT、Unix和Linux上,因此JSP有更广泛的运行平台。虽然现在NT操作系统占了很大的市场份额,但是在服务器方面Unix的优势仍然很大,而新崛起的Linux更是来势不小。从一个平台移植到另外一个平台,JSP和JavaBean甚至不用重新编译,因为Java字节码都是标准的与平台无关的。
其他相关技术
JDBC
JDBC(Java Database Connectivity)是Java应用程序访问关系数据库的接口。可以跨平台的语言,在其上面的应用(pure Java)可以在任何操作系统、应用服务器上运行,如:随着用户和访问量的增加,可能会考虑改用商业Unix服务器和商业的应用服务器,基于Java的解决方案的应用可以不加任何改动平滑移植到新系统中,可以最大限度的保护现有投资;
借助于EJB(Enterprise JavaBeans)的支持,可以实现基于组件和负载平衡的分布式计算环境;
各厂商提供了很多高效的开发工具,如:IBM WebSphere Studio,一些Java IDE等。考虑到性能上的影响,建议Oracle Server和Web Server采用分布式结构。
JavaBeans
JavaBeans是一种可重用的Java组件,它可以被Applet/Servlet/JSP等Java应用程序调用,也可以可视化地被Java开发工具使用。它包含属性(Properties)、方法(Methods)、事件(Events)等特性。
Servlet
Servlet是一种在服务器端运行的Java Application,它可以作为一种插件(Plug-ins)嵌入到Web Server中去,提供诸如HTTP、FTP等以及用户定制的协议服务。如果你已经用过Java servlet,那么你就会知道servlet可以让你建立动态生成的网页,而网页中包含有从服务器方的Java对象中所获得的数据。但是你也得知道servlet 生成网页的方法就是在Java类中嵌入HTML标签和表述代码。这就意味着改变表述代码需要修改和重新编译servlet源文件。因为设计HTML页面的设计人员可能与编写servlet代码的开发人员不是同一个人,更新基于servlet的web应用程序就成了一件非常棘手的事情。
Enter JavaServer Page是Servlet API的一个扩展。事实上,JSP网页在编译成servlet之前也可以使用,所以它们也具有servlet的所有优势,包括访问Java API。由于JSP是嵌入到servlet中关于应用程序的一般表述代码,所以他们能够被看成一种“彻底”的servlet。
JSP网页主要提供了一种建立servlet的高水平方法,它还带来了其他的优点。即使你已经为web应用程序编写了servlet,使用JSP仍然有很多优势:
JSP网页可以非常容易的与静态模板结合,包括HTML 或XML 片段,以及生成动态内容的代码。
JSP网页可以在被请求的时候动态的编译成servlet,所以网页的设计人员可以非常容易的对表述代码进行更新。如果需要的话,JSP网页还可以进行预编译。
为了调用JavaBean组件,JSP标签可以完全管理这些组件,避免网页设计人员复杂化应用程序。
开发人员可以提供定制化的JSP标签库。
网页设计人员能够改变和编辑网页的固定模板部分而不影响应用程序。同样,开发人员也无须一个个编辑页面而只须对组件进行合理的改变。
通常,JSP允许开发人员向许多网页设计人员分发功能性应用程序。这些设计人员也不必知道Java编程语言或任何servlet代码,所以他们能够集中精力去编写HTML代码,而编程人员就可以集中精力去建立对象和应用程序。