比较PHP和JSP这两个Web开拓技能,在目前的情形是实在是比较PHP和Java的Web开拓。
以下是我就几个紧张方面进行的比较:

一、 措辞特性

PHP是阐明实行的做事器脚本措辞,首先php有大略随意马虎上手的特点。
语法和c措辞比较象,以是学过c措辞的程序员可以很快的熟习php的开拓。
而java须要先学好java的语法和熟习一些核心的类库,懂得面向工具的程序设计方法。
以是java不如php好学。

phpjsp比较Java与PHP的周全比较 Bootstrap

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只用了令人吃惊的四秒钟就结束了2000020000的回圈。
而PHP测试的是20002000循环(少一个数量级),却分别用了63秒。

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

所述,我个人认为,PHP适宜于快速开拓,中小型运用系统,开拓本钱低,能够对变动的需求作出快速的反应。
而Java适宜于开拓大型的运用系统,运用的前景比较广阔,系统易掩护、可复用性较好。
还有,同样功能的系统用Java开拓的系统要比PHP开拓的系统的价格要高。