java与php在web开发方面的区别

语言比较

php是解释执行的服务器脚本语言,语言风格和c语言比较像,而java是面向对象的语言,它的最初原型是从c++上演化而来的,学习java首先要理解面向对象的概念,所以从这点上,php较java好学。

java编译成字节码.class文件,然后在java虚拟机上执行。java的web开发首先想到就是JSP,原来的web开发是servlet实现的(java源文件中内嵌大量html元素,用out.print(“<html>...</html>“),所以后来出现了JSP(java server pages),JSP可以很方便嵌入到html中。不过,在服务器端执行的,JSP会被服务器转换成servlet,在编译执行。

其实实现web网站,jsp+servlet就可以了,但这样的话,要在servlet中或者JSP中写入大量重复的代码,比如,数据库连接代码,数据库操作代码等。如果写在JSP中,就会使得html和java代码耦合性提高,显得冗余,也不好维护,同时在服务器端JSP转化servlet也会耗费大量时间。若是写在servlet中,虽然java和html分离,但复用性没得到提高,所以出现了javabean。javaBean 是一种可复用的、跨平台的软件组件。使用javabean可以方便的实现java代码和html的分离,能够增强系统的功能和软件的复用性。

Java的Web开发属于SUN公司定义的J2EE其中的规范。而且在J2EE中包括了java的Web开发的所有方面,如:JSP、Servlet、JDBC、JNDI、JAVABEAN、EJB等等。J2EE就特别适合于做大型的企业级的应用。

数据库访问

java是通过JDBC访问数据库,根据数据库厂商提供的数据库驱动,很容易访问数据库,且访问数据接口统一。

php对于不同的数据库采用不同的数据库访问接口,数据库访问代码的通用性不是太好。例如,java访问mysql数据库改成sqlserver数据库,只需该少量代码,而php要改大量代码。

系统设计架构

采用java的web开发,理论上是面向对象的开发方法,需要用面向对象的方法建模分析设计,而php是面向过程的开发方法。

跨平台性

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值