【杂谈】PHP和J2EE比较(转)

简介:
我们该如何选择?java还是php?《Java和PHP的web开发技术比较》


比较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开发的系统的价格要高.
相关文章
|
2月前
|
存储 关系型数据库 MySQL
深入浅出PHP:从基础到实战
【9月更文挑战第20天】本文将带你走进PHP的世界,从最基础的语法开始,逐步深入到实战应用。我们将通过实例讲解PHP的核心概念,如变量、控制结构、函数等,然后介绍如何使用PHP进行数据库操作和文件处理。最后,我们将展示如何用PHP构建一个简单的博客系统,让你在实践中掌握PHP的应用。无论你是编程新手,还是有一定经验的开发者,都能在这篇文章中找到有价值的信息。让我们一起探索PHP的魅力吧!
|
3天前
|
PHP 数据安全/隐私保护 开发者
PHP 7新特性解析与实践
【10月更文挑战第20天】本文将深入浅出地介绍PHP 7的新特性,包括性能提升、语法改进等方面。我们将通过实际代码示例,展示如何利用这些新特性优化现有项目,提高开发效率。无论你是PHP新手还是资深开发者,都能从中获得启发和帮助。
|
2月前
|
编译器 PHP 开发者
PHP 8新特性解析与应用实践
PHP 8作为PHP语言的最新版本,带来了许多令人兴奋的新特性和性能改进。本文将深入探讨PHP 8中的JIT编译器、联合类型、匹配表达式等关键更新,并通过实例演示如何在项目中有效利用这些新工具,帮助开发者提升代码质量和执行效率。
|
6月前
|
存储 安全 PHP
【PHP 开发专栏】PHP 框架入门与选择
【4月更文挑战第30天】本文介绍了PHP框架的基础知识,强调其在提高开发效率和代码质量上的优势。文中列举了常见的PHP框架,如Laravel(适合复杂项目)、Symfony(适合企业级应用)、CodeIgniter(轻量级,适用于中小型项目)、Yii(高性能,适合大型应用)和Phalcon(极佳性能,适合高并发场景)。选择框架时,应考虑项目需求、学习曲线、社区支持和技术栈兼容性。
218 0
|
3月前
|
安全 编译器 PHP
PHP 8新特性解析与实践
随着PHP 8的发布,这个流行的编程语言迎来了一系列创新特性,旨在提高性能、增强安全性并简化开发。从联合类型到命名参数,再到JIT编译器,新版本的PHP为开发者提供了更多工具来构建更快、更可靠的应用程序。本文将深入探讨这些新特性,并通过实例展示如何在实际项目中应用它们,帮助开发者充分利用PHP 8的强大功能。
|
4月前
|
安全 编译器 数据处理
PHP 8:新特性解析与实践应用
本文深入探讨了PHP 8版本中引入的关键新特性,包括JIT编译器、联合类型、命名参数、匹配表达式等,并结合实例代码演示了如何在实际项目中有效利用这些新功能来提高开发效率和代码质量。通过对比分析PHP 7与PHP 8的性能差异,文章进一步验证了新版本带来的性能提升,旨在为PHP开发者提供升级至PHP 8的全面指南。
45 2
|
5月前
|
编译器 PHP 开发者
PHP 8.0 新特性解析与实践
PHP 8.0的发布带来了许多令人激动的新特性和改进,本文将深入解析PHP 8.0的一些重要特性,包括JIT编译器、命名参数、属性声明的初始化等,并结合实际案例进行详细讨论,帮助开发者更好地理解和应用这些新特性。
82 5
|
6月前
|
编译器 PHP 开发者
深入理解PHP 8.0的新特性及实践应用
【5月更文挑战第14天】在这篇文章中,我们将深入探讨PHP 8.0的新特性及其在实际开发中的应用。我们将详细介绍JIT编译器、联合类型、名称参数、匹配表达式等新特性,并通过实例代码演示如何利用这些新特性提高开发效率和代码质量。
|
6月前
|
缓存 安全 JavaScript
PHP 7.4新特性解析与实践
【4月更文挑战第24天】 在这篇文章中,我们将深入探讨PHP 7.4版本的新特性,并通过实际示例代码展示如何将这些新特性应用于日常开发工作中。我们将重点介绍预加载优化、类型化属性、箭头函数等重要更新,并分析这些新特性对性能和编码习惯的影响。通过本文,读者将获得对PHP 7.4新特性的全面理解,以及如何有效地利用这些新工具来提升代码质量和开发效率。
|
6月前
|
PHP
PHP 7.4的新特性及实践应用
【4月更文挑战第2天】本文主要介绍了PHP 7.4的新特性,并通过实例代码展示了如何在实际项目中应用这些新特性。文章首先简要回顾了PHP的发展历史,然后详细分析了PHP 7.4的新特性,包括预加载、数组解构、扩展的返回类型声明等。接下来,通过实际代码示例,演示了如何在项目中使用这些新特性。最后,总结了PHP 7.4新特性的优势和局限性,并展望了PHP未来的发展趋势。