Java和PHP在Web开发方面的八大对比

转载自:http://safe.it168.com/a2012/0605/1356/000001356488.shtml

比较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适合于开发大型的应用系统,应用的前景比较广阔,系统易维护、可复用性较好。还有,同样功能的系统用Java开发的系统要比PHP开发的系统的价格要高。

时间: 2024-08-29 14:37:12

Java和PHP在Web开发方面的八大对比的相关文章

(转载)Java和PHP在Web网站开发方面的八大对比

Java和PHP在Web网站开发方面的八大对比 时间:2013-07-10 10:23 来源:北大青鸟武汉宏鹏鲁广校区 导读:北大青鸟鲁广校区总结开发经验:比较PHP和JSP这两个Web开发技术,在目前的情况是其实是比较PHP和Java的Web开发. 以下就几个主要方面进行的比较: 一. 语言比较 PHP是解释执行的服务 北大青鸟鲁广校区总结开发经验:比较PHP和JSP这两个Web开发技术,在目前的情况是其实是比较PHP和Java的Web开发. 以下就几个主要方面进行的比较: 一. 语言比较 P

Java和PHP在Web开发方面的比较

比较 PHP和JSP这两个Web开发技术,在目前的情况是其实是比较PHP和Java的Web开发.以下是我就几个主要方面进行的比较: 一. 语言比较 PHP是解释执行的服务器脚本语言,首先php有简单容易上手的特点.语法和c语言比较象,所以学过c语言的程序员可以很快的熟悉php的开发.而java需要先学好java的语法和熟悉一些核心的类库,懂得面向对象的程序设计方法.所以java不如php好学. Java首先要编译成字节码.class文件,然后在java虚拟机上解释执行.Java的Web开发首先最

eclipse中java项目转成Web项目

在eclipse导入一个myeclipse建的web项目后,在Eclipse中显示的还是java项目,按下面的步骤可以将其转换成web项目. 1.找到项目目录下的.project文件 2.编辑.project文件,找到<natures>...</natures> 3.2中找到的结点中加下面的的代码 <nature>org.eclipse.wst.common.project.facet.core.nature</nature> <nature>o

Java项目改成Web项目

第一步:点击要改的项目 第二步:File -- Properties -- 就可见下图 第三步:把Dynamic Web Module 勾上 确认 即可 Java项目改成Web项目,布布扣,bubuko.com

atitit.GUI图片非规则按钮跟动态图片切换的实现模式总结java .net c# c++ web html js

atitit.GUI图片非规则按钮跟动态图片切换的实现模式总结java .net c# c++ web html js 1. 图片按钮的效果总结 1 1.1. 按钮图片自动缩放的. 1 1.2. 不要边框,如果用自定义图片做按钮背景可以设为 false. 2 1.3. 异形按钮 2 1.4. 不绘制焦点 2 1.5. 鼠标经过时的图标 2 1.6. 选中时的图标 2 1.7. 禁用时显示的图标 2 1.8. 可能需要按钮半透明效果 2 2. 图片按钮的实现 2 2.1. 优先模式:button控

Java实现与调用Web Service

一. Web Service 1. web service 就是应用程序之间跨语言的调用 例如,天气预报Web Service:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx 2. wsdl: web service description language(web服务描述语言) 通过xml格式说明调用的地址方法如何调用,可以看作webservice的说明书 例如,天气预报的:http://www.webxml.com.cn

Eclipse中普通java项目转成Web项目

在eclipse导入一个myeclipse建的web项目后,在Eclipse中显示的还是java项目,按下面的步骤可以将其转换成web项目. 1.找到项目目录下的.project文件 2.编辑.project文件,找到<natures>...</natures> 3.2中找到的结点中加下面的的代码 <nature>org.eclipse.wst.common.project.facet.core.nature</nature><nature>or

动力节点java培训 什么是web容器?

动力节点java培训 什么是web容器?给处于其中的应用程序组件(JSP,SERVLET)提供一个环境,使JSP,SERVLET直接更容器中的环境变量接**互,不必关注其它系统问题.主要有WEB服务器来实现.例如:TOMCAT,WEBLOGIC,WEBSPHERE等.该容器提供的接口严格遵守J2EE规范中的WEB APPLICATION 标准.我们把遵守以上标准的WEB服务器就叫做J2EE中的WEB容器. 如果您对动力节点有兴趣,可以登录官网看看免费教学视频:http://dwz.cn/29yA

将Maven的Java Project修改为Web Project

将Maven的Java  Project修改为Web Project关键是需要了解Eclipse和MyEclipse的工程中如下文件.classpath和.project和.mymetadata含义和作用. .project文件,本文主题将Maven的Java  Project改为Web Project,关键是如下配置: <?xml version="1.0"encoding="UTF-8"?> <?xml version="1.0&qu