比较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开发的系统的价格要高。
|
相关推荐
《Java Web开发技术大全--JSP+Servlet+Struts 2+Hibernate+Spring+AJAX》.(李宁),适合java web开发者,学生,老师,或者已经工作的。内容详细全面,高清
JAVA web开发技术教程源码 张娜主编 供同学们参考使用。
4. **Java EE(Java Platform, Enterprise Edition)**: 也称为Java EE或Jakarta EE,是Java Web开发的基础框架,提供了一系列API和服务器环境,如Servlet、JSP、EJB(Enterprise JavaBeans)、JMS(Java Message ...
通过《Tomcat与Java Web开发技术详解》的前270页,读者将建立起对Java Web开发和Tomcat服务器的扎实基础,为进一步深入学习和开发复杂的Web应用打下坚实基础。书中深入的讲解和实践案例,对于任何希望在Java Web领域...
### Tomcat与Java Web开发技术详解 #### 一、Tomcat简介 Tomcat是一款开源的Servlet容器,由Apache软件基金会下属的Jakarta项目开发。它实现了对Servlet和JavaServer Pages (JSP)的支持,可以作为独立的应用服务器...
上传资源要求在20M以内,所以大家必须要把Java Web开发技术大全.z01,Java Web开发技术大全.z02,Java Web开发技术大全.z03,Java Web开发技术大全.z04,Java Web开发技术大全.z05和Java Web开发技术大全.zip,...
在这个领域,JDBC(Java Database Connectivity)、Servlet和JSP(JavaServer Pages)是基础且至关重要的技术,它们共同构成了Java Web开发的核心。 JDBC是Java中用于与数据库交互的API,它允许程序员用标准的Java...
《Tomcat与Java Web开发技术详解(第2版)》结合最新的Tomcat 6版本,详细介绍了开发Java Web应用的各种技术。主要内容包括:Tomcat和Java Web开发的基础知识、Java Web开发的高级技术、在Java Web应用中运用第三方...
有关Java web开发技术\资料\Java教程 有关Java web开发技术\资料\Java教程 有关Java web开发技术\资料\Java教程 有关Java web开发技术\资料\Java教程 有关Java web开发技术\资料\Java教程 有关Java web开发技术\资料...
上传资源要求在20M以内,所以大家必须要把Java Web开发技术大全.z01,Java Web开发技术大全.z02,Java Web开发技术大全.z03,Java Web开发技术大全.z04,Java Web开发技术大全.z05和Java Web开发技术大全.zip,...
Java Web应用开发课程设计-vue+springboot+MySQL宾馆客房预订系统源码.zipJava Web应用开发课程设计-vue+springboot+MySQL宾馆客房预订系统源码.zipJava Web应用开发课程设计-vue+springboot+MySQL宾馆客房预订系统...
《Tomcat与Java Web开发技术详解》语言深入浅出、通俗易懂,无论对于Java Web开发的新手还是行家来说,《Tomcat与Java Web开发技术详解》都是精通Tomcat和开发Java Web应用的必备的实用手册。《Tomcat与Java Web开发...
Java+Web开发教程----入门与提高篇(JSP+Servlet)》附赠电子资料
本书详细介绍了在最新Tomcat 5版本上开发Java Web应用的各种技术。主要内容包括:Tomcat和Java Web开发的基础知识,Java Web开发的高级技术,Tomcat与当前其他通用软件的集成,以及Tomcat的各种高级功能。
Java Web开发技术是互联网应用程序构建的核心领域,涵盖了多种技术和工具,用于创建动态、交互式的Web应用。本资源“Java Web开发技术大全”旨在提供全面的学习材料,帮助开发者深入理解和掌握这一领域的关键概念。 ...
《李兴华_Java_Web开发实战经典-练习答案》是一部深入浅出的Java Web开发教程,由知名讲师李兴华老师编著。本资源主要包含MLDN(明理网络教育)李兴华老师Java Web基础课程的课后习题解答,旨在帮助学习者巩固课堂...
《Tomcat与Java Web开发技术详解(第2版)》是孙卫琴先生撰写的一本经典教程,专注于讲解如何使用Apache Tomcat服务器进行Java Web应用的开发。这本书深入浅出地介绍了Tomcat的基础架构、配置、优化以及故障排查,同时...
Java Web开发技术大全.pdf 这本书全面涵盖了Java Web开发的核心技术和实践方法,是学习这一领域的宝贵资源。Java Web开发是利用Java编程语言进行Web应用程序的创建,它涉及到一系列技术和框架,如Servlet、JSP、...
《Tomcat与Java Web开发技术详解(第2版)》是一本深入探讨Java Web应用程序部署和运行环境的权威指南。本书主要围绕Apache Tomcat服务器展开,涵盖了从基础概念到高级特性的全方位讲解,旨在帮助读者掌握Java Web...
《孙卫琴.Tomcat与Java.Web开发技术详解》是一本深入探讨Tomcat服务器与Java Web开发的权威著作。该书由资深Java开发者孙卫琴撰写,旨在帮助读者全面掌握在Tomcat上进行Java Web应用的开发、部署及优化技术。书中...