连接PHP和 Java -- PHP/Java Bridge [1]

发布时间:2017-3-27 6:51:51 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"连接PHP和 Java -- PHP/Java Bridge [1]",主要涉及到连接PHP和 Java -- PHP/Java Bridge [1]方面的内容,对于连接PHP和 Java -- PHP/Java Bridge [1]感兴趣的同学可以参考一下。

HaohappyPHP5研究中心:http://blog.csdn.net/haohappy2004在WEB开发市场中,Java和PHP都是目前应用的热门技术。Java的强大是不容置疑的,不仅体现在WEB开发上,在各个软件应用领域,Java无所不在。而PHP在开源力量及ZEND,IBM,Oracle等公司的推动之下也日渐繁荣。不一定会有人相信互联网先锋人物Marc Andreessen 的预言“PHP将比Java更受欢迎”,但是“PHP瞄准企业市场,和Java展开正面较量”确实正在进行中,全球2200万个网站所采用的技术让人不得不重视。两种技术可以激烈竞争,也可以紧密合作。从客户的角度来说,技术之间的融合非常重要,因为一个庞大的应用系统,通常不可能由单一语言/和技术独立完成。PHP/Java Bridge的出现就将成为PHP和Java间的一道桥梁,为需要结合PHP与Java的企业提供一个良好的选择。//Haohappy对J2EE了解不深,如果有相关内容理解错误,欢迎批评指教。(一)什么是JSR,什么是JSR223 ?JSR(Java 规范请求)是指向JCP(Java Community Process)提出新增一个标准化技术规范的正式请求。任何人都可以提交JSR(Java 规范请求),以向Java平台增添新的API和服务。JSR已成为Java界的一个重要标准。在Java Servlet规范(Servlet 2.4,JSR-154)中,定义了一系列核心的抽象概念(WEB程序处理过程中需要考虑的各种对象)来让Java程序员编写WEB程序,包括session,request,response等等。当程序员在编写程序的时候,可以很方便安全地与这些对象进行通讯。JSR223描述的是这些Java对象如何向用其它脚本语言编写的WEB页面开放,使其它语言也可以访问这些对象。当前这个规范将被用于PHP,不过这种概念是独立于脚本语言的,也就是说在将来可能被应用于PHP之外的其它脚本语言。一句话,JSR223的目的是将脚本语言集成到Java平台之上。(二) 什么是PHP/Java Bridge ?PHP/Java Bridge包含一个PHP模块(包括java.so,php_java.dll)和一个相关的后端程序(JavaBridge.jar,JavaBridge.war或MonoBridge.exe),用于连接PHP的对象体系到Java或ECMA 335(CLI, Microsoft .NET Framework的重要子集)虚拟机。 它完全实现了JSR 223规范请求,可以使PHP脚本访问基于CLR(如VB.NET,C#)或Java(Java,KAWA,JRuby)的应用程序。PHP/Java Bridge通过本地socket用一个高效的通讯协议与虚拟机进行通讯。一个多进程的HTTP服务器的每个处理请求的PHP进程都会有一个相应的虚拟机线程。多个HTTP服务器的请求会被集中发送到一个运行着PHP/Java Bridge的应用服务器,或者每个HTTP服务器都有一个PHP/Java Bridge并和一个J2EE应用服务器进行通讯,必需的客户端类库(ejb client.jar)将在运行时被加载。如果在ECMA虚拟机内至少有一个后端程序在运行,例如Novell的MONO或Microsoft的 .NET,那么基于ECMA 335的类就可以被访问,也可以支持varargs, reflection,assembly loading等特性。如果在J2EE环境中有一个后端程序运行,PHP和JSP间就可以实现session共享,可以实现集群和负载平衡。和以前的尝试 (ext/java 或 JSR223 的示例)不同,PHP/Java Bridge不再使用JNI(Java本地接口)。PHP对象将从HTTP(Apache/IIS)池而来,而Java/J2EE的对象从后端程序中分配而来。对象间通过“通讯传递样式(continuation passing style)”来进行通讯,见下面的java_closure()。一旦一个PHP对象崩溃,不会影响到Java应用服务器和servlet引擎。从PHP/Java Bridge version 3.0开始,我们也可以把Java作为PHP脚本的一个运行环境。Java代码可以分配和调用PHP脚本,通过一个外部或内部的Java池。脚本对象可以来自于外部的HTTP池,或内部的php FastCGI池或直接使用php CGI。这个功能需要Java 6(预计2006年上半年推出) 或外部的javax.script包。Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=621807

上一篇:JQuery
下一篇:让Java Swing显示中文更美观

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。

好贷网好贷款