PHP中调用Java类的两种方法
Java语言功能强大,因此在许多情况下在php中来调用Java的功能将十分有用。在php中调用Java语言有两种方法,一种是使用php中的Java扩展模块,另一种是使用minij2ee应用服务器提供的SJOP协议实现。下面我们来比较一下这两种方法各自的特点。
1.php的Java模块
php发布版中包含一个Java扩展模块,可以用来调用Java对象,例如:
以下为引用的内容:
<?php$system=new Java("java.lang.System");
print "Java version=".$system->getProperty("java.version")." <br>\n";?>
使用这种方法的优点是比较方便,只要用new Java()来创建一个Java对象,就可以同php类一样来调用Java对象。但是这种方法也有以下明显的缺点:
1.由于php的Java模块根据php的数据类型选择最适合的Java方法,因此无法调用Java过载的函数。
2.php的Java模块将在当前Web Server的进程中载入JVM(Java虚拟机),因此系统开销极大,影响Web Server进程的执行效率。
3.在某些操作系统和Web Server环境中,php的Java模块将使Web Server进程僵死。
由于这些原因,php的Java模块一直无法应用到实际的的软件系统中。
2.minij2ee应用服务器SJOP协议实现
在介绍minij2ee应用服务器SJOP协议实现之前,先简单介绍一下minij2ee应用服务器。minij2ee应用服务器是第一款支持php的J2EE应用服务器产品,使php能够用于开发企业级应用系统。SJOP全称是Sample Java ORB Protocol(简单Java对象请求代理协议),是一种简单高效的对象请求代理协议。比如:
以下为引用的内容:
<?php
$conn=minij2ee_fetch_connection()
;print "Java version=".minij2ee_callstatic_javaobj
($conn,"java.lang.System","getProperty",
"java.lang.String","java.version")." <br>\n";
?>
minij2ee应用服务器实现SJOP协议的主要目的是使php中能够访问EJB企业级组件,因此minij2ee提供了一个EJB-PHP编译器,可以把EJB组件编译成php的类,使php程序中能够方便的调用EJB组件,例如:
以下为引用的内容:
<?php
require("Cart.php"); file://Cart.php是编译Cart EJB后生成的Cart EJB的php类定义。
$home=new CartHome(); file://创建EJB的Home接口。
$objref=$home->create($cart_name); file://创建Cart EJB。
$cart=new Cart($objref);
$cart->add("some goods");file://向购物车中添加一个物品。
?>
使用minij2ee应用服务器的php支持,就可以开发出基于php和J2EE技术的,面向对象的,稳定高效的企业级应用系统。
分享到:
相关推荐
当我们需要将已有的Java类或方法整合到PHP项目中时,就需要实现PHP调用JAVA类的功能。下面将详细探讨这一技术实现。 1. **JavaBridge**:PHP调用Java最常用的方法之一是通过JavaBridge,这是一个PHP扩展,允许PHP...
本文主要讨论的是如何在PHP中调用Java类的两种方法,这对于融合这两种技术的优势具有重要意义。 首先,我们可以使用PHP的Java扩展模块。这个扩展允许PHP直接创建和操作Java对象,就像操作PHP类一样。例如,通过`new...
通过运行`php调用Java.docx`文档中的步骤,你可以在本地环境中验证PHP调用Java的功能是否正常工作。 总的来说,PHP通过JavaBridge调用Java是一种强大的技术,使得PHP应用能够利用Java的丰富库和服务。通过熟练掌握...
在IT行业中,PHP和Java是两种非常流行的编程语言,它们分别在Web开发和企业级应用领域有着广泛的应用。有时候,我们需要在PHP项目中利用Java的功能,例如调用一些Java库或者服务,这时就会涉及到PHP调用Java的jar包...
文中提到Android访问网络数据有多种方式,主要包括两种方法:一种是基于Http协议的数据获取方法,另一种是基于SAOP协议的数据获取方法。这两者各有优缺点,前者简单易用,后者虽然操作复杂些,但适合处理复杂的数据...
在PHP中调用Java程序,通常有两种主要方法:一种是通过第三方库,另一种是使用DLL动态链接库。这里我们将详细探讨这两种方法。 首先,我们来看第一种方法:使用第三方库,例如PHP-Java-Bridge。这是一个PHP与Java...
在IT领域,PHP和Java是两种非常流行的编程语言,它们分别在Web开发和企业级应用中占据重要地位。本文将详细探讨"php_java.jar"和"php_java.dll"这两个文件,以及它们在PHP与Java集成中的作用。 "php_java.jar"是一...
总的来说,"PHP_JAVA_RSA互通加解密"项目提供了一种在PHP和Java之间进行安全数据交换的方法,它结合了RSA算法的优势,以及两种语言的灵活性,为跨平台的数据安全通信提供了有效解决方案。开发者可以通过学习这个项目...
JavaBridge是PHP与Java集成的一种工具,它允许PHP代码直接调用Java类和方法。通过JavaBridge,开发者可以在PHP环境中执行Java代码,实现PHP和Java之间的无缝交互。 3. **Quercus** Quercus是Caucho Technology...
部署后,这个WAR文件会被解压并运行,提供PHP调用Java的接口。开发者可以通过HTTP GET或POST请求来调用Java方法。 5. PHP端调用Java 在PHP中,可以使用预定义的类`java`和`java_object`来调用Java类和方法。例如,...
本文将详细介绍如何在PHP环境中配置并使用Java组件,这对于那些希望利用这两种语言各自优势的开发者来说非常有用。下面将通过几个步骤来指导你完成这一配置过程。 #### 二、环境准备 1. **操作系统:** Windows ...
PHP调用Java的方法 - **命名空间(Namespace)映射**:PHP中的命名空间可以映射到Java的包名,使得PHP可以按包名调用Java类。 - **方法调用**:PHP可以通过Bridge调用Java类的静态或非静态方法,并传递参数。 - ...
二是使用PHP Java Bridge,它提供了一个直接的对象接口,允许在同一应用程序中直接调用Java和PHP代码。这种方法使得开发者能够在不牺牲效率的情况下,充分利用两种技术的优点。 在安装和配置Java编程环境以及Apache...
标题中的“PHP与Java进行通信的实现方法”指的是在PHP应用程序中调用Java代码或服务以实现特定功能的技术。这通常涉及到跨语言交互,因为PHP和Java是两种不同的编程语言,有着各自的执行环境。在描述中提到,这种...
主要工作原理是将 PHP 请求转换为 Java 方法调用,然后执行 Java 代码并返回结果给 PHP。这样,开发者可以利用 Java 的高性能和丰富库,例如数据库连接池、加密算法等,来增强 PHP 应用的性能和功能。 - **使用...
3. **调用Java类和方法**:通过JavaBridge,PHP代码可以动态加载Java类并执行其方法,扩展了PHP的功能。 4. **处理Java异常**:JavaBridge能捕获Java抛出的异常,并将其转换为PHP错误信息。 **php-script.jar** ...
是一个流行的PHP内容管理系统,它提供了一种通过PHP调用Java组件的方式,使得开发者可以在Joomla!中利用Java的强大力量。 7. **JSP/Servlet与PHP集成**:在服务器端,可以通过部署Java的JSP和Servlet来处理特定任务...
1. **PHPJava Bridge原理**:PHPJava Bridge通过HTTP协议或者Socket连接,允许PHP调用Java的方法,将Java对象转换为PHP变量,反之亦然。它可以用于执行Java服务、访问Java库或者处理复杂的计算任务。 2. **Java端...
标题中的“php,java连接打印机插件lodop”指的是在PHP和Java这两种编程语言中,使用 Lodop 打印机插件来实现打印功能的技术。Lodop 是一种跨平台的网页打印解决方案,它允许开发者通过Web页面控制本地或网络打印机...
3. `JavaBridge.jar`: 这是JavaBridge的核心库,它提供了一个桥接,使得PHP能够调用Java类和方法。通过JavaBridge,PHP开发者可以利用Java的强大功能,比如访问数据库、使用加密算法等。 接下来,我们要在Tomcat...