PHP与JSP

作者&投稿:爨厚 (若有异议请与网页底部的电邮联系)
php和jsp有什么不同~

现在市场上的oa基本上可归结为两大阵营,即php阵营和java阵营。但对接触oa不久的用户来说,看到的往往只是它们的表相,只是明显的价格差异,却很难看出它们之间的实际差异。其实, PHP + MYSQL 不值钱不仅仅局限于oa软件,而是整体上PHP + MYSQL开发的软件都不如java开发的软件值钱。为什么PHP + MYSQL 的OA为什么不值钱呢?首先得明白php和java之间的差异才行。

1、系统的技术架构比较

分层是将系统进行有效组织的方式,分而治之的思想是计算机领域中非常重要的思想。在好的分层思想引导下,便能实现“高内聚、低耦合”,也能将具体的问题割裂开来,易于控制、易于延展,更易于分配资源。PHP只能实现简单的分布式两层或三层的架构,而JAVA在这方面就十分强大,可以实现多层的网络架构。运用MVC的设计模式,可使oa系统具有更加高效、合理的系统架构。技术架构的落后,使运用php编写的oa软件系统先天不足,而后天又无法补足其先天上的劣势。使得系统在可拓展性、需求应变性上与JAVA编写的oa软件系统的差距越来越大。架构的差距,注定了php做的oa充其量是个小家碧玉,始终无法和java这种大家闺秀同台竞技。

2、数据库访问比较

PHP可编译成具有与许多数据库相连接的函数。将自己编写外围的函数去间接存取数据库。通过这样的途径当更换使用的数据库时,可以轻松地修改编码以适应这样的变化。但PHP提供的数据库接口支持彼此不统一,比如对Oracle, MySQL,Sybase的接口,彼此都不一样。由于PHP对于不同的数据库采用不同的数据库访问接口,所以数据库访问代码的通用性不强。

而Java通过JDBC来访问数据库,通过不同的数据库厂商提供的数据库驱动方便地访问数据库,访问数据库的接口比较统一。如果同样是将开发的web应用从MYSQL数据数转到ORACLE数据,PHP需要做大量的修改工作,而且比较繁琐。但JAVA开发的便只需要很少的更改便能实现。

数据库访问方式的差异,奠定了php开发出的oa和java开发出来的oa是马车和火车的差距,前者只能亦步亦趋而且额度有限,后者却是工业化的结晶,不仅能够包容万物而且速度上稳步提升。

3、安全性对比

在同是开源和跨平台的java面前,php丢掉了很多的优势。在代码的安全性上尤为突出。php的开发程序在别人拿到代码后,可以很容易的进行修改。而java开发的程序由于无法看到完整的源代码,只能看到一些编译好的类文件,所以安全性较高。加之系统架构的优势,在安全性上php和java是相去甚远。

如果非要将php和java在安全性上做个比较的话,同一个小偷光顾php那是随便拿来随便改,想拿什么拿什么,拿的高兴还能大笔一辉某某到此一游。而光顾java的时候,便会发现警察把守,内设自动报警装置,即便突破重重阻扰后进入居室。那值钱的东西都放在加密后的保险柜中,只能望洋兴叹、铩羽而归。

4、前瞻性和拓展性

从整体来说,php适用于中小型系统,而java适用于大型系统。Php能够将单一的事件做好,但却不适合完成集成度较高的多项并发事件。为什么说php适合中小型系统而不适合做大系统呢?

首先, php缺乏多层结构支持。而对于大型的系统负荷站点,只能采用分布计算。将数据库、应用逻辑层和表示逻辑层彼此分开,并将同层的根据流量分开,组成二维数组。而php恰恰缺乏这种支持。

其次,PHP提供的数据库接口不统一,要将多个不同的数据库数据统一需要花费很大的力气。而JAVA则没有这种缺陷,可通过SUN Java的Java Class和EJB获得规模支持,通过EJB/CORBA以及众多厂商的Application Server获得结构支持。如IBM的E-business,它的核心是采用JSP/Servlet的Web Sphere,是通过CGI来提供支持的。

如果将Php比作将才,具备独挡一方的能力。那么java便是帅才,具有较好的前瞻性和拓展性,整体布局和协同能力强。能够指挥千军万马,最后逐鹿中原。

5、开发成本比较

既然php在诸多方面都不如java优异,那么php开发出的oa产品何以与java产品竞争呢?在于Php阵营普遍走的是低端路线,而java阵营走的是中高端路线。两者之间交*的区域较小。

软件价格的高低很大程度上和自身成本和功能相挂钩。php的入门门槛较低,绝大多数学过c的程序员都很容易转型为php程序员,这使得php程序员的泛滥成灾的同时,低成本的php软件产品也层出不穷。以PHP最经典的组合PHP + MySQL + Apache为例,由于所有软件都是开源免费的,所以投入并不高。

而java开发需要特定的环境,成长为一个合格的java程序员需要一定的时间,java程序员的成本也是php成本的几倍。Java的web应用服务器免费的有Tomcat、JBoss等,而要想具有很好的商业化服务便必须选用Web Sphere和 Web logic。这其中投入的成本无形中便超是php成本的N倍。所以,java开发oa的成本要远远高于php开发出来的同类软件产品。但也正由于java开发的成本较高,很难实现抄袭和短期内逾越的可能,也使得java用开发出的产品门槛更高。

不怕不识货,就怕货比货。Php开发出来的产品也能用,但是和java开出的同类产品是没法比较的。正因为php开发的产品整体性能和java开发的相去甚远,所以php运用低成本的低价优势和同类的java产品抗争,以价格落差来平衡购买者的心态。所以,PHP + MYSQL 的OA不值钱也就不足为怪了



第二种

比较PHP和JSP这两个web开发技术,在目前的情况是其实是比较PHP和Java的Web开发。以下是我就几个主要方面进行的比较:

一、 语言比较

Php是解释执行的服务器脚本语言,首先php有简单容易上手的特点。语法和c语言比较象,所以学过c语言的程序员可以很快的熟悉php的开发。而java需要先学好java的语法和熟悉一些核心的类库,懂得面向对象的程序设计方法。所以java不如php好学。

Java首先要编译成字节码.class文件,然后在java虚拟机上解释执行。Java的web开发首先最容易想到的就是JSP(现在已经到JSP2.0),原来的java的web开发都是用servlet来实现的,用servlet来开发需要程序员在java的源文件中嵌入大量的html代码。所以后来就出现了JSP,JSP可以方便的嵌入到html文件当中,其实jsp文件在服务器上执行的时候首先会被应用服务器转换成servlet,然后再编译执行。Jsp可以通过servlet和JavaBean的支持产生强大的功能。JavaBean 是一种可复用的、跨平台的软件组件。使用javabean可以方便的实现java代码和html的分离,能够增强系统的功能和软件的复用性。

Java的web开发属于SUN公司定义的J2EE其中的规范。而且在J2EE中包括了java的web开发的所有方面,如:JSP、Servlet、JDBC、JNDI、JAVABEAN、EJB等等。J2EE就特别适合于做大型的企业级的应用。

二、 数据库访问比较

Java通过JDBC来访问数据库,通过不同的数据库厂商提供的数据库驱动方便地访问数据库。访问数据库的接口比较统一。

PHP对于不同的数据库采用不同的数据库访问接口,所以数据库访问代码的通用性不强。例如:用Java开发的web应用从MySQL数据库转到Oracle数据库只需要做很少的修改。而PHP则需要做大量的修改工作。

三、 系统设计架构比较

采用Java的web开发技术,需要使用的是面向对象的系统设计方法,而PHP还是采用面向过程的开发方法。所以用Java进行开发前期需要做大量的系统分析和设计的工作。

四、 跨平台性

Java和PHP都有很好的跨平台的特性。几乎都可以在不作任何修改的情况下运行在Linux或者Windows等不同的操作系统上。

五、 开发成本比较

PHP最经典的组合就是:PHP + MySQL + Apache。非常适合开发中小型的web应用,开发的速度比较快。而且所有的软件都是开源免费的,可以减少投入。

Java的web应用服务器有免费Tomcat、JBoss等,如果需要更好的商业化的服务有:Web Sphere和 Web logic。

六、 分布式多层架构比较

PHP只能实现简单的分布式两层或三层的架构,而JAVA在这方面就比较强大,可以实现多层的网络架构。数据库层(持久化层)、应用(业务)逻辑层、表示逻辑层彼此分开,而且现在不同的层都已经有一些成熟的开发框架的支持。例如Struts就是利用java的web开发技术实现了MVC的设计模式,而在业务逻辑层也有Spring框架,数据库持久化层有Hibernate等框架。这些框架可以方便开发者高效、合理、科学得架构多层的商业应用。

下面简要的说一下Struts,它实质上是在JSP Model2的基础上实现的一个MVC(Model、View、Controler)框架。JSP Model2体系结构是一种联合使用JSP 与Servlet 来提供动态内容的方法。在Struts框架中,模型由实现业务逻辑的JavaBean或EJB组件构成,控制器由Servlet实现的,视图由一组JSP文件组成。采用Struts可以明确角色的定义和开发者与网页设计者的分工。而且项目越复杂,其优势越明显。

七、 源代码安全

PHP开发的程序的源代码都是公开的,他人拿到php开发的程序后都可以进行修改。

Java开发的程序,最后用户拿到的是只是一些编译好的class类,无法看到完整的源代码,安全性高。

八、性能比较

有人做过试验,对这两种种语言分别做回圈性能测试及存取Oracle数据库测试。

在循环性能测试中,JSP只用了令人吃惊的四秒钟就结束了20000*20000的回圈。而PHP测试的是2000*2000循环(少一个数量级),却分别用了63秒。

数据库测试中,二者分别对 Oracle 8 进行 1000 次 Insert,Update,Select和Delete: JSP 需要 13 秒,PHP 需要 69 秒。

表格 1 PHP 与Java的比较

PHP JAVA

可复用性 低 高

开发速度 快 慢

易维护性 差 优

可移植性 优-Linux、Windows、Unix等

安全性 低 高

开发费用 低 高

多层架构 差 优

数据库访问 接口不统一 接口统一

可扩展性 差 优

面向对象 差 优
综上 PHP适合于快速开发,中小型应用系统,开发成本低,能够对变动的需求作出快速的反应。而Java适合于开发大型的应用系统,应用的前景比较广阔,系统易维护、可复用性较好。还有,同样功能的系统用Java开发的系统要比PHP开发的系统的价格要高

现在InterNet 越来越成为生活中不可或缺的一部分,制作网页的动态语言也越来越多,主要流行的有以下几种,ASP,PHP 和 JSP,他们之间互有优缺点,笔者在工作实践中对他们作了一下比较浅显的比较。


ASP 由于其简单功能实用等方面受到广大朋友的喜欢,再加上MS的强有力支持,可以说是时下作站点最为流行的语言,他借助MS的Com+ 技术,几乎可以实现在C/S 能够实现的所有功能,可以说确实具有相当的竞争力。ASp的代码实现也很简单,MS 提供的InterDev 在RAD 的基础上,使Asp 的开发一夜之间火遍了大江南北。但是他的缺点是,由于MS 长久以来的霸道作风,他只能运行在MS 的平台上,因此在关键性的应用上使人难以轻易接受。

PHP 则市秉承Linux 的GNU 风格,借助与源码公开,使他迅速成为世界上目前应用最为广泛的站点制作语言之一。借助与C++的形式,引用类的概念,使得代码的可重复性应用便的异常简单。加上他和Linux,Apache 和MySql 的紧密配合,关键性的应用也没有问题(有名的Sina就是采用Php)。但是他有一个比较大的麻烦,就是没有一个非常有实力的公司专门给他做支持,因此相关的学习资料比较少,目前在国内使用他的站点比较多,但是专门讲解他的站点就比较少。给初学者带来了很多的麻烦。

JSP 是Sun公司推出的新一代站点开发语言,他完全解决了目前ASP,PHP的一个通病--脚本级执行(据说PHP4 也已经在Zend 的支持下,实现编译运行).Sun 公司借助自己在Java 上的不凡造诣,将Java 从Java 应用程序 和 Java Applet 之外,又有新的硕果,就是Jsp--Java Server Page。Jsp 可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序。

我在实际工作中,就这三种语言的性能进行了比较 首先进行的是循环性能测试首先测试的是Jsp测试采用 20000*20000 次循环运算(有没有搞错,这么多),测试结果另人不可思议,该程序只用了不到 4 秒的时间就运行结束了。(没有搞错吧),程序代码如下:



<%
int i=0;
int j=0;
int k=0;
for(i=0;i<20000;i++){
for(j=0;j<20000;j++){

}
}
%>



下一步测试的是 PHP,最初也准备测试 20000*20000次,但是不管把程序最大运行时间调的再大,也无法运行结束,因此改为 2000*2000 ,运行时间竟然达到 84 秒,程序代码如下:

<?
$TTime=date("Y-n-d"). " " . date("H:i:s");
echo $TTime;
echo "";
for($i=0;$i<1000;$i++){
for($j=0;$j<1000;$j++){
}
}
$TTime=date("Y-n-d"). " " . date("H:i:s");
echo $TTime;
?>

最后进行的是Asp 的测试,测试的循环也是 2000*2000(几个0可要看清楚),运行时间是 63 秒,程序代码如下:

<%
response.write now
response.write ""
for i=0 to 2000
for j=0 to 2000
next
next
response.write now
%>

另外,我也对数据库连接作了测试,由于Jsp 在连接数据库时需要通过 JDBC,因此必须专门为此作一个连接数据库的JavaBean,为了简单起见,我只把测试结果写出来,想要代码的朋友,和我联系!
对 Oracle 8 进行 1000 次 Insert,Update,Select,和Delete
Jsp 需要 13 秒
Php 需要 69 秒
ASP 需要 73 秒

PHP:

PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,

主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,

PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

PHP的特性:

1、 PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。

2、PHP可以比CGI或者Perl更快速的执行动态网页——动态页面方面,与其他的编程语言相比。

PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成htmL标记的CGI要高许多;

PHP具有非常强大的功能,所有的CGI的功能PHP都能实现。

3、PHP支持几乎所有流行的数据库以及操作系统。

4、最重要的是PHP可以用C、C++进行程序的扩展!

ThinkPHP是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,

在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

PHP安全:

PHP其实不过是Web服务器的一个模块功能,所以首先要保证Web服务器的安全。当然Web服务器要安全又必须是先保证系统安全,这样就扯远了,无穷无尽。常见的web安全漏洞有:注入攻击,跨站攻击,服务器自身漏洞等。

PHP的优点学习过程和方法:

PHP的语法类似于C,Perl,ASP或者JSP。对于那些对上述之一的语言较熟悉的人来说,PHP太简单了。相反的,如果你对PHP了解较多,那么你对于其他几种语言的学习都很简单了。你只需要很短的时间内将PHP的核心语言特点全部掌握,你可能已经非常了解HTML,

甚至你已经知道怎样用编辑设计软件或者手工来制作好看的WEB站点。由于PHP代码能够无障碍的添加进你的站点,在你设计和维护站点的同时,你可以很轻松的加入PHP使得你的站点更加具有动态特性。

JSP:

JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它 [1]  是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,

它是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,

也能在其他操作系统上运行。它实现了Html语法中的java扩展(以 <%, %>形式)。JSP与Servlet一样,是在服务器端执行的。通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。

JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,

支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。

Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。

JSP将内容的生成和显示进行分离:

用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面,并使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求变化的,例如请求账户信息或者特定的一瓶酒的价格等)。

生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在脚本中,所有的脚本在服务器端运行。由于核心逻辑被封装在标识和JavaBeans中,所以Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。

在服务器端,JSP引擎解释JSP标识和脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBC技术访问数据库或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这既有助于作者保护自己的代码,又能保证任何基于HTML的Web浏览器的完全可用性。

几乎所有平台都支持Java,JSP+JavaBeans几乎可以在所有平台下通行无阻。从一个平台移植到另外一个平台,JSP和JavaBeans甚至不用重新编译,因为Java字节码都是标准的与平台无关的。

JSP语音特点:

优点:

1、一次编写,到处运行。除了系统之外,代码不用做任何更改。

2、系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP的局限性JSP的优势是显而易见的。

3、强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。

4、多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。

5、支持服务器端组件。web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。JSP可以使用成熟的JAVA BEANS 组件来实现复杂商务功能。

缺点:

1、与ASP也一样,Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。

2、 Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。

扩展资料:

PHP认证级别:

PHP课程由初级(IFE)、中级(IPE)和高级(IAE)三个部分。

1、IFE即Index Front-end Engineer的缩写,指数前端工程师的意思。

2、IPE即 Index PHP Engineer 的缩写,意思是指数PHP工程师。

3、IAE即 Index architecture/advanced engineer 的缩写,意思是:指数高级/架构工程师。

参考资料:

PHP-百度百科   

JSP-百度百科



目前,最常用的三种动态网页语言有ASP,JSP,PHP 。 本文是对这3者的比较和讨论。
简 介 :

ASP全名Active Server Pages,是一个WEB服务器端的开发环境,利用它可以产生和执行动态的、互动的、高性能的WEB服务应用程序。ASP采用脚本语言VBScript(Java script)作为自己的开发语言。

PHP是一种跨平台的服务器端的嵌入式脚本语言。它大量地借用C,Java和Perl语言的语法, 并耦合PHP自己的特性,使WEB开发者能够快速地写出动态产生页面。它支持目前绝大多数数据库。还有一点,PHP是完全免费的,不用花钱,你可以从PHP官方站点(http: //www.php.net)自由下载。而且你可以不受限制地获得源码,甚至可以从中加进你自己需要的特色。

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的一个弱点。

2. 面向对象编程

PHP提供了类和对象。基于web的编程工作非常需要面向对象编程能力。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 9上。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三者都有相当数量的支持者,由此也可以看出三者各有所长。正在学习或使用动态页面的朋友可根据三者的特点选择一种适合自己的语言。

评论一:

PHP的强大在于灵活,支持所有的数据库,所有的系统,除了可以安装在APACHE中而且可以安装在IIS里。并且APACHE天生就是一对好搭档,甚至可以编译在一起。

PHP程序可以编译后运行也可以不编译运行,编译后除了保护了源代码外还可以起到大大提速作用,都可以跨平台直接使用。支持WIN API,DLL,JAVA等等。

PHP的代码非常书写简单易懂。

ASP现在已经被微软所抛弃,改为全新的ASP.NET,新的ASP.net也非常强大,可以和微软的C#、VB.NET等搭配扩充功能,具有.net所赋予的优点。但还是不能跨平台。微软的强大在于编程工具的强大,傻瓜式的编程工具和编程思想非常适合软件刚刚起步的地区,因此在国内拥有极多的支持者。ASP在国内的应用最广泛,这在国际上PHP占主导地位的情况刚好相反。

JSP是后推出的脚本语言,由于大家常常把JAVA和JSP当成一会事所以在国内JSP的队伍正在迅速扩张,另外也是由于JSP的后台也比较硬,经常有厂家的宣传因此对于那些不满ASP却又消息闭塞的人提供了选择的余地。JSP能够支持JAVA也是获得众多支持的原因之一。

楼主帖子中给出的ORACLE的数据调用对比把PHP和ASP放到了后面这样未免太偏,ASP由于WIN系统的缘故当然会慢,这个傻子都知道。而在WIN系统中PHP访问ORACLE肯定要比同在WIN系统中的JSP要快得多,并且PHP还要区分是否为编译运行,如果同在在UNXI系统中那么PHP肯定也要比JSP快的多。

PHP在大型网站的应用已经非常明显,很多国内大型的门户网站都用PHP,而用JSP的则要花费大量的财力来打造性能,否则就非常可怜了。目前我还没有见过那个用JSP的网站能比ASP.NET快多少的,更不用说和PHP比了。

当然搞电子商务这样的东东,需要的其实并不是那个语言而是工具的好坏,在这方面背靠大树当然好乘凉了,如果是我就会选择现ASP.NET次而考虑JSP,因为如果在微软的系统上跑,JSP绝对是实际上最慢的。等哪天PHP的工具能赶上微软的VS那么我会毫不犹豫的采用PHP。采用好的IDE编程工具可以进行高效的编程,但ASP.net和JSP往往只起到了处理一些WEB信息的工作,真正的主角则是背后的C#等和JAVA。说白了他们只是冰山上的一角,还是背后的主角好。而PHP对JAVA的支持其实甚至超过JSP,只是PHP对于初学者确实没有微软他们亲,毕竟开源世界尴尬并不是初学者能够理解的。

很多初学者搞不懂JS和JSP的区别,以为ASP和PHP中有时要调用JS就感觉JSP非常棒,其实JSP也一样要借助JS来完成一些特殊的功能,说白了JSP和JS根本就是两回事,这也等于是JS为JSP打了免费广告。

其它就不多说了,任何一个程序员如果只会一两门语言也不能算是合格的程序员,要学会不同的程序用不同语言,这样才高效。

评论二:

JSP慢主要是受JVM的牵制所致(JAVA的强大与JVM也互成因果),JSP的迅速普及与JAVA阵营的强大不无关系,同时也跟你说的JS误解有一定关系。ASP依赖无处不在的M$系统还在继续发挥余热,ASP.NET技术先进但要真正普及起来尚需时日,关键是一般小型Web应用上ASP已经可以勉强应付,在企业级应用上由于JAVA占了一定先机,所以目前还不足于称雄。

而PHP受到大力吹捧的灵活与速度同时也逐渐构成PHP5以及后续版本发展的壁垒。PHP要想获得更大的发展,必须重视其商业价值,而主要的商业价值在于企业级应用上。PHP5扩展了更好的类支持,这只是它小心翼翼朝这个方向迈出的第一步,估计以后还会在这方面做出更多的尝试,之所以它比较保守,是因为它在靠近JAVA或ASP.NET的同时人们担心它会丧失灵活与速度上面的优势,如果在这方面处理失败,它不仅无法从其他阵营里面拉到人,反而自身的人马会逐渐流失。

说白了就是PHP简单易学,JSP在学周期和开发周期都比较长,但JSP比PHP运行速度快。PHP适合一般应用,中小型的网站应用。JSP适合中大型网站的应用。另外JSP比较安全,像那些银行网站和电子商务网站都是用JSP写的。

JSP为什么相对难一点,因为JSP是JavaEE中的一部分,所以学JSP必须先学Java。PHP是解释型程序,JSP是编译型程序,所以JSP比PHP快。

学程序不能说哪个会好点,只能说各有特色,各自的擅长功能不同。在中国PHP用的应该比较多,因为它易学,还是开源的,PHP本身发展的也比较快。功能强大。JSP更适合企业级。

如果你没有什么特殊要求,就学PHP吧,容易上手,易学。官方说最快半个小时就可以写出个小程序来。的确是,前两天我用PHP进行个计算,配合函数手册,很容易就写出来了,的确很轻松,但JSP就没那么容易了。我现在在学Java,目地是以后写网页的同时,还能写个小程序,所以Java就是最好选择,学一种语言,两方面都实现了。我都断断续续学好几个月了,基础书籍才看到一半,而且刚是基础,还没学JSP的部分。如果你没这耐力的话,PHP是不错的选择。

PHP是开源的,且免费,一般LAMP(Linux+Apache+Mysql+Php)组合基本上是不花钱的。这是主要原因,还有一个就是PHP加上ZENDOPTIMIZER后执行速度也快。现在国外大多数网站都是用这种组合,包括国内前十大门户,有七家也是用PHP,你可以从这里知道PHP的好处,再说你从51JOB上找一下,招聘PHP的一大把。不过JSP也有JSP的优点,最主要的就是执行速度快,效率高。JSP对于网站开发来讲不像PHP和ASP那样易学易用,支持JAVA的主机也少于支持PHP的主机,这从一定程度上限制了Java技术在网站上的发展。话说回来都是各有所长啦。
语言这东西,互通性很强,学了PHP对学JSP肯定会有帮助的

PHP程序的优点:

1.首先他是免费的,对于许多要考虑运行成本的商业望站来说,尤为重要

2.开放源码,所有的源码和稳当都可以买南非复制、编译和传播。

3.多平台支持,可以运行在UNIX、Linux或Windows操作系统下

4.由于在服务器端运行,是将PHP文件解释成标准的HTML稳当发送过去,因此不受客户端浏览器的限制

5.效率高,PHP占用的系统资源叫少,执行速度教快

PHP程序的缺点:

1.因为没有大公司的支持,可能前途不如ASP、JSP辉煌

2.运行环境安装相对教复杂

3.相对ASP来说,学习起来可能要稍微复杂些

JSP程序的优点:

1.多平台支持,可以在几乎所有的服务器系统上运行。无论在哪里都可以迅速转化使用

2.编译后运行,能够大大提高执行效率

3.JSP采用JAVA技术,而JAVA作为一个成熟的跨平台的程序设计语言,几乎可以实现任何想要实现的功能,对于众多的已有的JAVA程序员来说,学习起来非常容易

JSP程序的缺点:

1.开发运行环境相对于ASP来说,稍显复杂

2.相对 于ASP的VBScript脚本语言来说,JAVA学习起来稍难些。


JSP适合做大型网站,为什么百度主页还是PHP写
我们再看看在百度首页的请求中有一个字段:HPHP,这是HHVM,如果不是百度使用代理或者在HTTP服务器层面上修改头或者修改HHVM(百度应该也不会这么闲的蛋疼去改一个不是机密的东西),那么应该就是用PHP了。那么我们解释一下为什么不用默认的(默认的cookie会出现PHPSESSID的字段)session_start()有可能是...

JSP技术优缺点深入分析[1]
作为一名资深的 Java 技术专家和 Enhydra 支持者 本文作者强烈建议开发人员在选择 Web 应用程序编程语言时 使用其他可以替代 JavaServer Pages (JSP) servlets 的技术 JSP 技术是Sun 的J EE 平台和编程模型的一部分 用于解决将单调的内容转换为外观优美的表示层时遇到的困难 事实上 并非所有的Web开发...

java在jsp页面如何直接执行sql?
\\x0d\\x0a \\x0d\\x0a\\x0d\\x0a处理页面 Hp.jsp 源码:\\x0d\\x0a<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="UTF-8"%>\\x0d\\x0a<%\\x0d\\x0aString path = request.getContextPath();\\x0d\\x0aString basePath = request.getScheme()+":\/\/"+request.get...

计算机的分类
SUN、HP、SGI等公司都是著名的工作站生产厂家。6.服务器 随着计算机网络的普及和发展,一种可供网络用户共享的高性能计算机应运而生,这就是服务器。服务器一般具有大容量的存储设备和丰富的外部接口,运行网络操作系统,要求较高的运行速度,为此很多服务器都配置双CPU。服务器常用于存放各类资源,为网...

微软自动化测试工具有哪些?
常用的9种自动化测试工具:QTP全名HP QuickTest Professional software ,最新的版本为HP QuickTest Professional 11.0QTP是quicktest Professional的简称,是一种自动测试工具。使用QTP的目的是想用它来执行重复的手动测试,主要是用于回归测试和测试同一软件的新版本。因此你在测试前要考虑好如何对应用程序...

java在jsp页面如何直接执行sql?
处理页面 Hp.jsp 源码:<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="UTF-8"%> < String path = request.getContextPath();String basePath = request.getScheme()+":\/\/"+request.getServerName()+":"+request.getServerPort()+path+"\/";> <!DOCTYPE HTML ...

HP LaserJet p2015 打印机的报警灯都是什么含义
HP LaserJet p2015 打印机的报警灯共有六个灯:(从上到下)。卡纸灯:此灯亮时,表示检测到卡纸;碳粉警告灯:此灯亮时,表示检测到硒鼓寿命将尽,碳粉余量不足;纸张警告灯:此灯亮时,表示检测到主纸盒和前置纸盒均没有装纸(也就是缺纸)。功能警告灯:此灯通常和上面三个一齐亮;开\/关门...

惠普 畅游人家用电脑 a6712cn 的配置
键盘鼠标:HP超薄多媒体键盘,鼠标。数码接口:USB2.0(前2后4),1394接口,麦克风耳机接口.数码读卡器:15合1读卡器.显示器:22寸宽屏黑晶显示器,响应时间5ms,内直音箱,VGA+HDMI双接口,支持HDCP和超亮屏技术.参考资料:http:\/\/www.ocj.com.cn\/shop\/detailshop.jsp ...

网站策划的概述
3、采用系统性的解决方案(如IBM,HP)等公司提供的企业上网方案、电子商务解决方案?还是自己开发。4、网站安全性措施、防黑、防病毒方案。5、相关程序开发。如网页程序ASP、JSP、CGI、数据库程序等。1、根据网站的目的和功能规划网站内容,一般企业网站应包括:公司简介、产品介绍、服务内容、价格信息、...

常用的web服务器软件有哪些
(1)ApacheApache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上。Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。Apache取自"a patchy server"的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新...

十大健康食物排行榜 : ·第一名 番茄
·第二名 菠菜
·第三名 坚果
·第四名 椰菜花
·第五名 燕麦
·第六名 鲑鱼
·第七名 大蒜
·第八名 蓝莓
·第九名 绿茶
·第十名 红酒

十大健康水果排行榜 : ·第一名 苹果
·第二名 杏
·第三名 香蕉
·第四名 黑莓
·第五名 蓝莓
·第六名 甜瓜
·第七名 樱桃
·第八名 越橘
·第九名 葡萄柚
·第十名 紫葡萄

花山区17070892195: jsp与php的区别 -
揣聂复方: PHP(Hypertext Preprocessor)是一种嵌入HTML页面中的脚本语言.它大量地借用C和Perl语言的语法, 并结合PHP自己的特性,使Web开发者能够快速地写出动态产生页面. PHP是完全免费的开源产品,不用花钱,Apache和MYSQL也是用样...

花山区17070892195: JSP和PHP的区别?
揣聂复方: JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准.JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而...

花山区17070892195: jsp和php到底什么区别 -
揣聂复方: jsp这是个很大的整套解决方案,常用来代指view层的jsp【允许其他的页面展示,甚至不是jsp】,Model的hibernate,ibatis,Controller层面的struts,spring【这两个可不仅仅是controller,这两个可以统筹全局】这一套整体.php嘛,分的就不那么清楚,他追求的是简单快捷,做个人应用和一些简单的商业应用非常棒,这是jsp+struts/sping+hibernate/ibatis无法匹敌的,但是企业级综合应用,php能不能做都是个问题.总结一下:基本应用,几乎一样;高级应用,各有专攻.

花山区17070892195: jsp和php是一样的吗? -
揣聂复方: jsp是java php是php 是两个家族,不一样的,内部机制也不一样,中小型网站php完全胜任,大型网站java胜任

花山区17070892195: php和jsp -
揣聂复方: PHP程序的优点: 1.首先他是免费的,对于许多要考虑运行成本的商业望站来说,尤为重要 2.开放源码,所有的源码和稳当都可以买南非复制、编译和传播.减少开发时间. 3.多平台支持,可以运行在UNIX、Linux或Windows操作系统下 4.由于...

花山区17070892195: PHP和JSP的区别,都是用在什么地方?
揣聂复方: PHP: 1 数据库连接 PHP可以编译成具有与许多数据库相连接的函数.PHP与MySQL是现在绝佳的群组合.你还可以自己编写外围的函数去间接存取数据库.通过这样的途径当你更换使用的数据库时,可以轻松地修改编码以适应这样的变化....

花山区17070892195: php和jsp哪个好,有人说PHP快被淘汰了 -
揣聂复方: php和jsp各有优势,php是开源的,容易上手,跨平台好,容易部署,易维护,但运行效率比jsp慢,但不会有什么影响.jsp,成熟、灵活、稳定性好,是java的高级应用,要有java的基础

花山区17070892195: PHP和JSP的不同之处?
揣聂复方: 首先两个都是时下很流行的动态网站语言. 功能基本相同,但是jsp是基于java语言的,和java程序能够实现无缝连接,个人推荐学习使用jsp

花山区17070892195: PHP与JSP -
揣聂复方: 目前,最常用的三种动态网页语言有ASP,JSP,PHP . 本文是对这3者的比较和讨论.简 介 :ASP全名Active Server Pages,是一个WEB服务器端的开发环境,利用它可以产生和执行动态的、互动的、高性能的WEB服务应用程序.ASP采用脚...

花山区17070892195: PHP与JSP -
揣聂复方: 说白了就是PHP简单易学,JSP在学周期和开发周期都比较长,但JSP比PHP运行速度快.PHP适合一般应用,中小型的网站应用.JSP适合中大型网站的应用.另外JSP比较安全,像那些银行网站和电子商务网站都是用JSP写的.JSP为什么...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网