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 秒。
java和php在web开发方面的比较
综上所述,我个人认为,php适合于快速开发,中小型应用系统,开发成本低,能够对变动的需求作出快速的反应。而java适合于开发大型的应用系统,应用的前景比较广阔,系统易维护、可复用性较好。还有,同样功能的系统用java开发的系统要比php开发的系统的价格要高。
以上就是本文的全部内容了,希望对大家能够有所帮助。
来源:51CTO
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
大数据的未来掌控于数据集成
大数据,即用于数据分析帮助商业等方面决策的大数据集,已经发展成熟,然而它的发展速度却丝毫没有减慢的迹象。虽然大数据能够让你在问题变得不可收拾之前,帮助你发现痛点、解决问题并增进对客户的了解,但是与此同时,大数据本身也带来了一些问题和挑战。 大数据为企业和机构在商业分析,市场营销,商业决策等方面提供了优质信息,帮助企业抢在客户之前,发现问题和痛点,及时改正。但是,随着从客户,生产销售流程和员工反馈等方面收集的数据越来越多,很多企业面临着一个问题,那就是如何更快更方便地检索和分析他们收集来的数据。 那么,企业怎么才能解决这个问题呢? 答案就是“大数据架构”。“大数据架构”可以展示企业在数据存储,快速数据分析和流式数据上的根本变化,使企业能够更容易,更快速,更简单地检索可操作的信息,并提高客户数据价值。 数据如何构成挑战? 在了解大数据架构,找出人们在看待、存储、处理和分析数据的方式变化之前,我们必须先了解大数据增长所带来的最常见的问题和挑战。 到目前为止,大数据解决和部署方案几乎都是专门用于解决非常具体化的问题,满足个性化需求。它们有效地存在于各自的“孤岛”(silo)中,且互不相容。这种...
- 下一篇
当确定网络安全措施时 企业应该考虑什么
为基础架构选择正确的网络安全措施是非常重要的,因为保护敏感数据和消除安全威胁是重中之重的工作。在开始寻找解决方案时,你会发现可供选择的安全供应商有很多——而且他们都会说自己的产品是最好的。但是,有一些网络安全措施会更适合你的网络架构和特殊珠数据安全需求。本文将介绍用于对比企业网络安全产品的条件。 关键任务数据的位置 理解公司目前将数据存储在什么位置——以及将来会存储在什么位置,就能很好地反映需要什么类型的安全工具,以及它们对于整个安全架构的重要性。数据存储在内部、云中还是两个位置都存储,这会影响到安全工具的有效性和重要性。 如果大部分数据都存储在私有数据中心,那么使用下一代防火墙(NGFW)和网络访问控制(NAC)的边界安全性就是一种重要的数据保护措施。防火墙将防止企业网络之外的用户接触到数据,而NAC则负责保证用户与设备有正确的数据访问权限。 另一方面,如果数据目前或将来存储在云中,那么整体架构安全性则应该重要关注于兼容云平台的安全工具。例如,许多NGFW都支持用虚拟防火墙来兼容云平台。类似地,网络安全措施还应该注重使用安全的Web网关(SWG)和恶意软件沙箱来防止网络之间发生数据丢...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS关闭SELinux安全模块
- CentOS7设置SWAP分区,小内存服务器的救世主
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题