和J2EE解决方案相比,PHP到底有什么优势?

解决方案 »

  1.   

    负载方面有优势,配上lamp完美的兼容性, 在同等硬件下, 用户不断增多, jsp会先挂掉。
    但部份功能不如jsp。php从语法角度比jsp灵活, 结构化+面向对象, 双向语言类型开发。还有(等你加分再说)
      

  2.   

    算,把剩下的也说了, 看帖http://www.makepic.com/phpjsp.htm
      

  3.   

    比较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开发的系统的价格要高
      

  4.   

    to上楼, php适合web,前景广,java适合大型应用和安全性较高,但前景不如php最高级和最低级应用都相对较小, 而不高不低在中间的才最常用, 用得最多。
      

  5.   

    to heyli:
    PHP数据库开发,也有类似Hibernate的框架的
      

  6.   

    TO 楼上 楼上上
    上面那一段话也是网上的 每一个语言都有他的优势 关键是看你想从事那一方面
    web->php  企业级应用->j2ee  底层->c/c++
    我没明白到底什么是企业级应用 只是都这么说 当然C#也不错
      

  7.   

    不过web现在很多时候都用J2EE的,呵呵
      

  8.   


    写这东东的人不单不熟悉PHP, 连Java都不了解 
      

  9.   


    asp.net --- 做b/s管理系统,高生产效率,高模块化开发, 能占web蛋糕三分之一php     --- 做门户网站,BBS,电子商务等,它凭着负载强承受着web的半边天jsp     --- 做安全性较高的银行系统之类, 应该范围不如前两者,有标准太高老婆难找的感觉asp     --- 在那里卖白菜,基本大型项目都不选它做,有前途的公司早就转型前三者
    其它应用得更少的ruby,python之类, 如果没什么创新性突破,web的格局基本如上。
      

  10.   

    asp.net --- 做b/s管理系统,高生产效率,高模块化开发, 能占web蛋糕三分之一php --- 做门户网站,BBS,电子商务等,它凭着负载强承受着web的半边天jsp --- 做安全性较高的银行系统之类, 应该范围不如前两者,有标准太高老婆难找的感觉asp --- 在那里卖白菜,基本大型项目都不选它做,有前途的公司早就转型前三者
    其它应用得更少的ruby,python之类, 如果没什么创新性突破,web的格局基本如上楼上说php 适合做中小型 。
    这样说 facebook 也算中小型了。。
      

  11.   

    PHP是显然适合web的,纯web要知道web本身是一个松散的东西
    asp.net ---.net如果没有 window的office及其他有何优势?php --- jsp --- 没用过,安全取决什么?PHP就没安全?或者只能这么说?jsp在客户端上的安全要强于PHP?如果pHP+客户端控件呢?asp --- 
      

  12.   

    PHP像悍马,帅气轻便。
    Java、.Net像重型坦克,笨重,强大。
    不知道这个比喻是否贴切。感觉Java、.Net解决方案功能要比PHP强大,也有更多的可用组件,特别是Java,上面成熟的开源应用比PHP应该更多、并且更稳定些。个人感觉,请牛人们指正啊:)
      

  13.   

    负载方面有优势,配上lamp完美的兼容性, 在同等硬件下, 用户不断增多, jsp会先挂掉。
    但部份功能不如jsp。php从语法角度比jsp灵活, 结构化+面向对象, 双向语言类型开发
      

  14.   

    JAVA的确比PHP强大,这是事实,但在中小型的应用上PHP却有着优势,主要的上面的已经讲的很清楚了,不过随着发展这2个语言以后就很难说了,看自己的定位了。
      

  15.   

    Perl好像也同时支持结构化和面向对象的,呵呵
      

  16.   

    本人不是纯粹程序员,但是呆过几个大网站,j2ee的构架相比而言对大公司更合适,很多公司在拿到B轮风投以后都改php为j2ee的架构,不过有些前端的东西还是php为主的.从求职的角度说:phper做网站可以做任何一个网站,j2ee除了大企业网站就是至少不会是小型的互联网公司.一个门槛低,使用面广,一个门槛略高,适用面窄,收入自然也高一些.从程序员角度说,前面几位分析的很透彻了.
      

  17.   

    感觉PHP现在框架也挺多了。
    J2EE平台SSH框架用的很广,PHP平台上现在也都有类似产品的。
    感觉门槛上,应该相差不大吧,呵呵
      

  18.   

    php是弱类型语言,JAVA是强类型语言 ,所以PHP入门比较快
      

  19.   

    Perl、Python、JavaScript也都是弱类型语言,其实不见得比Java简单多少。
    也都是有N多的细节,呵呵