`

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

 
阅读更多

转自:http://www.admin10000.com/document/416.html

一、 语言比较

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

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

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

分享到:
评论

相关推荐

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

    ### Java和PHP在Web开发方面的比较 #### 一、语言特性对比 - **PHP**:作为解释型语言,PHP在服务器端直接解释执行脚本,无需事先编译为中间代码。这种特性使得PHP具备快速入门的优势,特别是对于那些熟悉C语言的...

    Java和PHP在Web开发方面对比分析

    【Java和PHP在Web开发方面的对比分析】 在Web开发领域,Java和PHP是两种广泛使用的编程语言,它们各自具有独特的特点和优势。以下是对这两者在不同方面的详细比较: 一、语言比较 PHP是一种解释执行的服务器脚本...

    PHP和MySQL Web开发

    - **成本效益**:由于PHP和MySQL都是开源软件,因此在构建Web应用程序时可以节省大量的开发成本。 #### 三、PHP与MySQL的基础知识 - **安装配置**:通常采用LAMP(Linux、Apache、MySQL、PHP)或WAMP(Windows、...

    Oracle数据库WEB开发指南

    Oracle数据库在Web开发中扮演着重要的角色,作为企业级数据存储和管理的首选平台,它提供了强大的功能和高效的数据处理能力。本指南将深入探讨如何将Oracle数据库与Web应用程序集成,实现数据的交互和管理。 一、...

    web后端高级开发.zip

    Web后端开发主要涉及服务器端编程,常见的技术栈包括Java(JEE)、Python(Django, Flask等)、Node.js(Express.js)、Ruby(Ruby on Rails)和PHP(Laravel)等。这些语言各有特点,可以根据项目需求和个人喜好...

    java EE开发必知

    在Java EE开发中,Struts、Spring、Hibernate和JSF等框架被广泛使用,它们简化了Web应用程序的开发过程,提高了开发效率。例如,Struts遵循MVC(Model-View-Controller)架构模式,分离了业务逻辑和用户界面,而...

    短信开发接口支持php,c#,java等语言

    PHP是用于Web开发的开源脚本语言,C#是微软开发的面向对象的编程语言,广泛应用于Windows环境和.NET框架,Java则是一种跨平台的、面向对象的语言,特别适合于企业级应用。这意味着不论开发者使用哪种语言,都能利用...

    软件开发实战:PHP+MySQL开发实战

    MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面 MySQL 最好的表现是速度快、运行效率高、稳定性高、安全、可靠、开放源码等。 #### 五、MySQL的关键特性 1. **高性能**:MySQL 采用多线程的方式提供...

    Java-培训大纲.doc

    - **高端IT开放实验室**:配备高端工作站、Oracle数据库、Linux操作系统、Java开发环境和Web服务器。 - **固定座位人手一机**:确保每位学生都能获得充足的实践机会。 #### 八、就业通道 - **广泛的企业合作**:与...

    java lecture note(Java学习笔记)

    在当今的软件开发领域,Java作为一种流行的、功能强大的面向对象编程语言,被广泛应用于各种场景,包括Web应用、移动应用、企业级应用等。本篇Java学习笔记旨在为读者提供一个深入理解Java的基础与进阶知识的框架,...

    Web APP技术框架下“大学校园助手”APP的设计与实现.pdf

    该APP采用Web APP开发技术框架,使用HTML5、CSS3、JavaScript等技术,服务端技术采用JAVA、PHP、ASP等。同时,使用WeX5跨平台开发环境,采用jquery、require js和bootstrap框架,实现跨平台多前端应用开发。 系统...

    PHP网站开发语言技术特点及优势.docx

    PHP 的普及率之高,体现了它在 Web 开发领域的强大竞争力和广泛认可度。 综上所述,PHP 作为一种成熟稳定的 Web 开发语言,凭借其跨平台特性、强大的数据库支持、安全性、扩展性、执行速度、可移植性、功能全面性...

    Java进阶路线

    Java Web开发涵盖了从架构设计到具体技术实现的多个方面: - **MVC**:模型-视图-控制器模式,是Java Web开发中最常用的设计模式之一。 - **DNS, HTTP, Cookie**:网络协议和客户端状态管理的基础知识。 - **...

    关于JAVA资料整理

    上述链接中提到了多个与Java Web开发相关的课程和资源: - **链接四:** [http://dl1.itcast.net/course/detail/1997](http://dl1.itcast.net/course/detail/1997) —— 此链接提供了一个全面的Java Web开发教程,...

    2011年Web开发者必须掌握的10 大技能

    尽管.NET、PHP和Java是最常用的几种环境,但随着技术的发展,了解其他新兴的开发框架和技术栈也同样重要。例如,Node.js作为一种基于JavaScript的服务器端开发平台,在2011年前后逐渐兴起,成为开发者关注的新焦点之...

    基于web的网上汽车销售系统的开发-开题报告.docx

    综上所述,基于Web的网上汽车销售系统的开发是一项复杂的工程,涉及到前端展示、后端逻辑处理、数据库设计等多个方面。本项目不仅实现了基本的电子商务功能,还结合了汽车行业的特点进行了定制化开发,具有较高的...

Global site tag (gtag.js) - Google Analytics