比较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 秒。 

项目

PHP

JAVA

可复用性

开发速度

易维护性

可移植性

优-Linux

Windows、Unix

安全性

开发费用

多层架构

数据库访问

接口不统一

接口统一

可扩展性

面向对象

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

 

文章录入:静夜思    责任编辑:静夜思 

上一篇文章:
JAVA记事本(可拖读文件)

下一篇文章: 没有了

.line{border-top:1px #777777 dotted; padding:10px;
line-height:200%;}.user{float:left; font-size:14px;
color:#666666;}.user b{color:#1f3a87;}.time{float:right;
font-size:14px;
color:#666666;}.content{padding-left:20px;font-size:14px;word-wrap:break-word;word-break:break-all;}
图片 1 最新评论:已有 21
位感兴趣的读者发表了看法

BCCN网友 ip:218.108.43.*
2010-5-30 14:23:16 发表

写得不错,
不过现在这样的文章少了,是什么原因呢?
BCCN网友 ip:114.249.214.*
2010-5-13 21:26:46 发表

说的,简单明了!
PHP:适合中小企业,便于维护,开发成本低!
Java:企业级开发,开发过程和技术要求比较高,成本高!
BCCN网友 ip:218.29.47.*
2010-4-27 13:26:42 发表

看来学完C语言之后,还跟什么都不会一样
大家讨论的我一点也听不懂。
BCCN网友 ip:220.112.114.*
2010-3-9 9:42:35 发表

什么都的看市场,市场说哪个用的多就用哪个
BCCN网友 ip:222.246.54.*
2010-2-21 15:10:08 发表

本来学习了一段时间PHP,后因做GIS开发,就开始学JSP(应用MapXtreme for Java),感觉挺PHP容易上手。网上PHP视频教程和源码较多。
BCCN网友 ip:116.228.198.*
2010-2-4 12:00:41 发表

敢问楼主你是不是觉得你对PHP很了解啊? 我看你也就入门的水平 web开发肯定php好 但web以外的其他比如erp还是JAVA好
BCCN网友 ip:211.103.229.*
2010-1-22 15:26:39 发表

不错
BCCN网友 ip:114.245.136.*
2009-11-25 10:25:40 发表

大家不要怪。这篇文章估计是上世纪90年代的。楼主只是又抄了一下罢了。不过我建议楼主以后再抄的话别抄这种老掉牙有没水平的文章里。雷人!!
BCCN网友 ip:116.28.109.*
2009-10-1 8:12:16 发表

IT泡吧:******/bbs 诚邀版主。有意者请与我联系。QQ:645170400 
BCCN网友 ip:125.64.222.*
2009-9-8 14:48:36 发表

java的优点与不足:
1、java没有指针、实现了内存的自动回收;
2、java引入了接口编程,有利于代码重用;
3、java在虚拟机中运行,不受操作系统限制;
4、java凡事必类,真的是让程序员太“累”,哪怕只用一个int,你也可以“类”一把;
5、java用“包”管理类,同时“包”又依靠文件和文件目录管理;这使java
干了本该由操作系统干的事,增加了复杂性,降低了管理效率,逻辑上也不够
清楚;
6、java的“包”和类的命名不够规范,java的“包”的分类也不规范,让你用起来怪怪的。