dubbophp
Ⅰ 现在开发网站,好像都是流行用php,那java web一般用在哪里呢它们之间的区别和优劣势在哪里呢
现在市场上的oa基本上可归结为两大阵营,即php阵营和java阵营。但对接触oa不久的用户来说,看到的往往只是它们的表相,只是明显的价格差异,却很难看出它们之间的实际差异。其实, PHP + MYsql 不值钱不仅仅局限于oa软件,而是整体上PHP + MYSQL开发的软件都不如java开发的软件值钱。为什么PHP + MYSQL 的OA为什么不值钱呢?首先得明白php和java之间的差异才行。
1、系统的技术架构比较
分层是将系统进行有效组织的方式,分而治之的思想是计算机领域中非常重要的思想。在好的分层思想引导下,便能实现“高内聚、低耦合”,也能将具体的问题割裂开来,易于控制、易于延展,更易于分配资源。PHP只能实现简单的分布式两层或三层的架构,而JAVA在这方面就十分强大,可以实现多层的网络架构。运用MVC的设计模式,可使oa系统具有更加高效、合理的系统架构。技术架构的落后,使运用php编写的oa软件系统先天不足,而后天又无法补足其先天上的劣势。使得系统在可拓展性、需求应变性上与JAVA编写的oa软件系统的差距越来越大。架构的差距,注定了php做的oa充其量是个小家碧玉,始终无法和java这种大家闺秀同台竞技。
2、数据库访问比较
PHP可编译成具有与许多数据库相连接的函数。将自己编写外围的函数去间接存取数据库。通过这样的途径当更换使用的数据库时,可以轻松地修改编码以适应这样的变化。但PHP提供的数据库接口支持彼此不统一,比如对Oracle, MySQL,Sybase的接口,彼此都不一样。由于PHP对于不同的数据库采用不同的数据库访问接口,所以数据库访问代码的通用性不强。
而Java通过JDBC来访问数据库,通过不同的数据库厂商提供的数据库驱动方便地访问数据库,访问数据库的接口比较统一。如果同样是将开发的web应用从MYSQL数据数转到ORACLE数据,PHP需要做大量的修改工作,而且比较繁琐。但JAVA开发的便只需要很少的更改便能实现。
数据库访问方式的差异,奠定了php开发出的oa和java开发出来的oa是马车和火车的差距,前者只能亦步亦趋而且额度有限,后者却是工业化的结晶,不仅能够包容万物而且速度上稳步提升。
3、安全性对比
在同是开源和跨平台的java面前,php丢掉了很多的优势。在代码的安全性上尤为突出。php的开发程序在别人拿到代码后,可以很容易的进行修改。而java开发的程序由于无法看到完整的源代码,只能看到一些编译好的类文件,所以安全性较高。加之系统架构的优势,在安全性上php和java是相去甚远。
如果非要将php和java在安全性上做个比较的话,同一个小偷光顾php那是随便拿来随便改,想拿什么拿什么,拿的高兴还能大笔一辉某某到此一游。而光顾java的时候,便会发现警察把守,内设自动报警装置,即便突破重重阻扰后进入居室。那值钱的东西都放在加密后的保险柜中,只能望洋兴叹、铩羽而归。
4、前瞻性和拓展性
从整体来说,php适用于中小型系统,而java适用于大型系统。Php能够将单一的事件做好,但却不适合完成集成度较高的多项并发事件。为什么说php适合中小型系统而不适合做大系统呢?
首先, php缺乏多层结构支持。而对于大型的系统负荷站点,只能采用分布计算。将数据库、应用逻辑层和表示逻辑层彼此分开,并将同层的根据流量分开,组成二维数组。而php恰恰缺乏这种支持。
其次,PHP提供的数据库接口不统一,要将多个不同的数据库数据统一需要花费很大的力气。而JAVA则没有这种缺陷,可通过SUN Java的Java Class和EJB获得规模支持,通过EJB/CORBA以及众多厂商的Application Server获得结构支持。如IBM的E-business,它的核心是采用JSP/Servlet的Web Sphere,是通过CGI来提供支持的。
如果将Php比作将才,具备独挡一方的能力。那么java便是帅才,具有较好的前瞻性和拓展性,整体布局和协同能力强。能够指挥千军万马,最后逐鹿中原。
5、开发成本比较
既然php在诸多方面都不如java优异,那么php开发出的oa产品何以与java产品竞争呢?在于Php阵营普遍走的是低端路线,而java阵营走的是中高端路线。两者之间交*的区域较小。
软件价格的高低很大程度上和自身成本和功能相挂钩。php的入门门槛较低,绝大多数学过c的程序员都很容易转型为php程序员,这使得php程序员的泛滥成灾的同时,低成本的php软件产品也层出不穷。以PHP最经典的组合PHP + MySQL + Apache为例,由于所有软件都是开源免费的,所以投入并不高。
而java开发需要特定的环境,成长为一个合格的java程序员需要一定的时间,java程序员的成本也是php成本的几倍。Java的web应用服务器免费的有Tomcat、JBoss等,而要想具有很好的商业化服务便必须选用Web Sphere和 Web logic。这其中投入的成本无形中便超是php成本的N倍。所以,java开发oa的成本要远远高于php开发出来的同类软件产品。但也正由于java开发的成本较高,很难实现抄袭和短期内逾越的可能,也使得java用开发出的产品门槛更高。
不怕不识货,就怕货比货。Php开发出来的产品也能用,但是和java开出的同类产品是没法比较的。正因为php开发的产品整体性能和java开发的相去甚远,所以php运用低成本的低价优势和同类的java产品抗争,以价格落差来平衡购买者的心态。所以,PHP + MYSQL 的OA不值钱也就不足为怪了
第二种
比较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开发的系统的价格要高
Ⅱ 为什么那么多公司不用 .NET,而选择PHP、JSP,是 .NET有什么缺点吗
做了7年的c#开发,4年多的java,c/c++,说说我的看法,主要有的区别:
一是开源和闭源的区别,.net早期完全闭源,开发也是完全傻瓜式的,微软的思想就是让开发更容易,所以无法看到底层实现,给人的感觉就是走一条胡同,很快到达目的地却无法知道墙内的东西,接触过java和c之后,感觉就像掉进了大海,原来海底也这么漂亮,有太多开源的软件和框架,你可以看到更深层的东西,比如我们看bbo,看进去后看netty,netty看进去后看到Linux,select,epoll,看到epoll,看Linux相关的,感觉就是掉进了大海,太多东西需要学习,做这么多年开发依然在不断的学习,但也给了我更多兴趣和探知未知世界的乐趣,以前做.net的时候有种感觉就是,别让我做非.net的东西,我不会,对陌生的的东西很害怕,现在的感觉就是你让我写个控制原子弹的程序我也敢去写(比方)。
二是免费和收费的区别,所有的公司产品的成本是公司发展的最关键因素之一,.net全家桶成本太高,vs的版权+windows版权+sql server版权再加上其它支持类软件版权,成本非常高,相反linux完全免费开源,给你选你会选哪一个?同时linux或从Unix而来,但天生具有轻量级性能可以发挥到极致而且稳定的系统,而windows为个人和办公而设计,界面和系统其它资源就让系统占用一部分,感觉很笨重,上天做一个长连接测试,单台Linux轻松上几十万,当然由于内存原因,否则可以上百万,而windows就很难做到,而且Linux哪里不行你可以去改的,windows就不行了,所以一个稳定高效免费的还有一大堆开源支持的,和一个收费性能相比没有那么高效的,好多公司自然选择前者
三是开发效率,上面说两点都说.net处于下风,但.net不是一无是处,.net有自身的优点,那就是开发效率,.net在java之上做了改进,让开发人员更容易开发,语言优美,做企业应用开发是很好的工具,可以快速出结果,你用其它开发要么大炮打蚊子,要么不稳定,在工厂和企业就要求很快做出来,这是.net优势,所以有他的市场份额,说这么多发现没个图,有评论的传一张
先以开发者的角度:
PHP跟.net根本就不是一个级别的,.net无论是应用场合、开发环境、帮助文档、编写风格、运行效率全部吊打PHP;PHP之所以流行就是因为很多开源框架都是现成的,刚好符合国人拿来主义的精神,修修改改就能拿来卖钱了。
JAVA各方面体量大致跟.net旗鼓相当,Windows系统下还是.net的天下,企业应用方面JAVA占用率高些,移动开发方面因为安卓和苹果的原因,.net失去了先机。微软正在逐步赶超,unitiy、.net core都在表明微软的态度。
以成本的角度:
微软的产品哪都好,就是版权太贵,Windows系统要钱,office要钱,服务器要钱,sqlserver要钱,再高级点用用企业版、集群之类的,做一个项目下来才能挣多少钱,都给微软了。PHP之所以能存活,就是linux免费,MySQL免费,Apache免费,PHP免费,就连框架都免费;JAVA跟PHP差不多。这种生态下导致了代码资源非常丰富,天下一般抄,开发成本就更低了。所以不是微软的东西不好,是JAVA和PHP开发成本太低了。用过对比你会发现,贵有贵的道理,所有开发帮助文档中,没有比微软做的更详尽的。
如果你是一个独立开发者,首选.net,Windows桌面应用、Windows服务、Windows 游戏 、网站、webservice、unity 游戏 ,除了安卓和苹果原生应用,.net都能胜任。如果微软可以在安卓下造出类似framework的东西,那就一统天下了。
为什么PHP、Java在市面上比.NET要受欢迎?而且从各大招聘网站上看PHP、Java的岗位比.NET岗位要多很多。
其实.NET也是有不少的优点的:
但是,它的致命缺点是:
设想一下,一个企业,如果服务器众多,那系统费用、数据库的授权费用,是多么庞大的一笔支出!
而PHP、Java则不同,它们都是跨平台开源免费的,虽然Java开始收费了(但还有免费的OpenJDK),所以PHP、Java还是首选。
如果用户采用微软全家桶解决方案, .Net 的开发效率和体验是完全可以吊打 Java 和 PHP 的, 但昂贵的价格, 让开发者和用户又爱有恨.
其实 .Net + C# 现在虽说不如一票跨平台框架语言用得人多, 但也远远谈不上没落.
在这个问题上, 个人认为 Microsoft 的原 CEO Steve Ballmer 难辞其咎, 在 Windows 霸主地位已经开始崩溃的时候 依然固执坚持封闭生态, 导致当时的 .Net 开发者 无不焦虑和彷徨.
不过 2014 年 Satya Nadella 接任 CEO 后, 微软 逐渐采取了 务实 开放 的做法, 收购 Xamarin 整合进 IDE, 推出 Visual Studio 社区版, C# 开始免费和跨平台, Microsoft 越来越像 Oracle, C# 越来越像 Java, 多多少少缓解了开发者的忧虑, 不少开发者开始回归, 毕竟 C# 优雅的语法 和 Visual Studio 卓越的开发体验 确实让人难以割舍.
.Net以前是不开源的,需要收费,有着各种版权问题,导致其语言生态发展不够。有其语言优点,但是从公司发展成本上来考虑,就注定不能作为首选。
PHP未兴起之前,很多公司使用.net来开发网站,因为相比较java的JSP,开发效率也还是要高一些,这对中小型企业的业务快速变更升级很重要。JSP运行速度会快一些,但其需要编译的特点,开发速度会相对缓慢。而对中小型企业来说,时间就是金钱,开发速度太慢,跟不上业务发展是很致命的。
之后PHP应运而生,其语言设计的初衷就是为了快速开发web应用。完全的开源免费,开发效率非常高,甚至一个人就可以搞定一个项目。中小型公司,从发展之初的考虑,逐渐将PHP作为首选发展语言。
随着PHP生态的逐渐强大,.net这种生态落后,开发速度比不上PHP,运行速度比不上JSP的语言也就逐渐没落了。
现在也有很多发展好了的公司,做大了做强了,又开始将自己的PHP项目往JSP迁移,因为开始追求运行速度。
所以PHP基本占领了中小型公司,而大公司则更多选择JSP。这都是语言的特性和优势决定的,将来如果出现一种语言能同时兼有开发速度和运行速度的免费开源的语言,那PHP和JSP也会逐渐走上.net这条路。一切都是企业成本和效率的问题。
+++++++++++++++++++++++++++++++++++++
第一次写问答,没想到有这么高的阅读量。
有些人说我对.net的认识太落后了,好吧,我开始学编程的时候,.net确实是比较封闭的状态,这些年我也不再去关注.net,对它的进一步了解也都是通过身边的同学朋友侧面反映的。
然后,真实情况是,我身边所有学.net的同学都转行了。因为岗位少,薪资低,真的生存很艰难哩。
遥想当年,我们一个宿舍的同学(一群穷逼,只能住在学校破旧的8人大宿舍里,因为住宿费真便宜啊 ),开始讨论选某个语言作为今后学习方向。有人选择了.net,有人选择了PHP,有人选择了JSP,然后各自努力。
现在,再来看彼此发展,.net的同学都转行了,PHP的都在中小型公司,JSP的在平安保险这种大公司里。薪资待遇对比,.net的同学和我们也有了差距。如果只看基本工资的话,还是PHP的高,哈哈。但是,加上年终奖就扑街了。我们同在深圳的经常一起出来聚聚,中小型公司的经常自嘲,辛辛苦苦一整年,比不上**一个年终奖。唉,大公司年终奖是真多啊,可以顶你大半年甚至一年的工资,人比人气死人。
当然,学PHP也不是都好,有个同学受不了压力转行做SEO了。也不是所有学java都好,我现在公司的测试就是个学java找不到工作,转而当测试的。
其实问题还是经验,有多年工作经验,就是你找工作最好的敲门砖了。
最后,没有最好的语言,适应市场发展的语言就是好语言。
各位看官,不喜勿喷!
我觉得最大的问题在于,使用Java体系的可以绑架一个公司的技术,因为他各类开源的框架以及底层的东西都可以修改,如果没有这帮大拿继续留在这个公司里面,后来的人很难去接受,或者理得清楚这些架构。而使用.net的话,基本上我觉得不太可能存在这个问题,因为知识体系比较清晰,而且掌握的人相对比较多,上手也相对比较容易。如果你是老板,会怎么样选择呢?你很希望别人绑架吗?
简单的说几句,就几句。我司用.net做web,推送服务器,消息服务器,数据握手服务,cad应用二次开发,gis应用,各种手持设备应用,各种服务窗口用的终端应用,视频监控等等等,你还觉得php真的能打过.net么?
我自己当初学过.net,java,现在算是略有了解。 就我个人理解, 许多公司不用.net 语言的根本原因,就是 .net 在最初的时候不开源,教程少,入门较难,而且最后正式发行程序什么,还要交钱,所以在许多公司中首选java这种开放语言,教程多,入门简单,基本不收费(不收费是关键,划重点) 。这也算是开源与闭源软件之争吧,最终以java为首的开源软件获胜,得以普及。
后来,开源软件已经是大势所趋,这时候微软.net阵营已经做了许多改变。我最熟悉.net中的c#语言,我就以c#为例说说吧。
微软以前信奉闭环,所有语言都不支持跨平台,也就没有c#;后来java越来越发展壮大,.net感受到了巨大危险,于是就模仿java,.net提出了c#,借以打击java。c#很像java语言,而且和java一样能够跨平台,windows、linx、android、ios都可以编程,这就是微软做的改变。
如果大家用过c#或者vb,c++来编写窗口程序,就会发现,这些语言写出来的windows窗口太棒了,而用java写出来的窗口程序,不敢恭维,太丑了,这也就是我后来学习c#的原因。(这也就是为什么说跨平台只是一个美梦而已)。
跨平台、开源之后的 .net ,其实跟java的基础结构并不差多少,但不具备数量优势,也就是说:java由于之前用的人太多了,各个方面的创新、发展都比较完善,有着坚实的用户群体、应用基础;而 .net ,由于是后发,已经失去了太多的应用环境,自然现在许多公司在不考虑是专为windows开发的情况下,是不会太主动使用.net。
我老早也是做.net开始的,那时候nginx开始流行,公司是一帮铁杆微软全家桶,谈命令行色变,于是对nginx, docker甚至git极力反对,我就走人。
.net core 就本身而言跨平台,我当然觉得不错。但就害怕再进一个 微软全家桶 团队,对任何高效主流的开源或命令行的软件极力封杀。
不知道干.net core的都有没有这种顾虑和遭遇? 毕竟微软的文化就是离开GUI不会走路,多数软件都不是先有命令行版本的。(而命令行版是实现虚拟机,容器技术,脚本话处理等的必须要求)。 就凭这个,我还是有点忌讳.net core.
个人的观点:
1、php肯定比不过.net了,用他主要是网站那块而已。
2、net和Java,单纯从语言c#比java优秀,开源生态肯定是Java,效率是c#
3、.net效率不高,在于windows平台,现在跨平台了,linux性能高于windows。
.Net core 有一定的机会。
Ⅲ bbo使用zookeeper连接,zookeeper宕机后怎么处理
1、配置文件同步
2、主从切换
3、分布式队列
4、分布式锁
Ⅳ bbo跨语言的研究(c++)
目前来看jni反而是一个比较通用的方法,
c++的服务端使用jni对服务进行包装,通过服务总线(bbo)发布服务,最终打包成一个jar包,启动服务。
c++客户端也使用jni方式通过服务总线(bbo)调用服务。
我简单研究了githup中的bbo-python、bbo-node-client、bbo-php-client。
基本都是这样做的:
问题,这些各个语言的bbo库,都只是客户端的,对于服务端没有支持。
Ⅳ 生产环境出现的几次线程池被占满的问题分析
项目发布后,发现生产上面bbo的线程池迅速被耗尽,查看日志看到如下信息:
RejectedExecutionException是bbo provide线程池的拒绝策略(详情见:引入bbo的实战记录),默认200大小的线程池被占满了,随后我们在这段日志的上面发现了另外一段日志:
发现这个http请求调用异常了,并且发现整个接口调用花了100秒,那么问题就显而易见了,前端一个请求,发送到A系统,A系统通过bbo调用B系统,B系统http调用php提供的一个接口,php的这个服务由于一些未知原因特别慢,导致我们的http请求花了很长时间,这时候bbo的线程一直得不到释放,由于A系统这时候频繁调用B系统,导致B系统的bbo线程池线程很快被耗尽(bbo服务提供方线程池默认固定大小200,并且SynchronousQueue的初始化大小为0,也就是说线程池总的容量为200)。后来的解决方案:1.减小http的超时时长(之前设置的是60秒);2.加大bbo线程池容量;这样就算http调用会发生超时,超时时间也很短,会让bbo线程很快释放,增加线程池最大容量就不说了。当线程池已满时,使用界队列来存储未执行的任务有这样一个好处,当发生异常情况导致线程池被撑满时,问题能尽快的暴露出来,如果是无界队列,这样未执行的任务会一直积压在队列中,极有可能会撑满内存,最终导致整个应用不可用。
Ⅵ zookeeper和bbo都是分布式服务框架吗
zookeeper是注册中心,用来管理提供者和消费者的,包括软负载均衡等;DUBBO是一个SOA分布式框架,它也用到的ZOOKEEPER,其它的HADOOP等也用到的这个注册中心
Ⅶ 线程中调用bbo服务,连续使用两次,报服务被关闭异常
最好调用PHP接口,使用了mysql 的服务器一般都是搭建了php环境的。 可以帮你写一个规范的php接口给应用连接访问使用。
Ⅷ b2b2c 平台 java还是php好
一、 语言比较
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等不同的操作系统上。