`
天梯梦
  • 浏览: 13766988 次
  • 性别: Icon_minigender_2
  • 来自: 洛杉矶
社区版块
存档分类
最新评论

比较两种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> ";
?>

 
使用这种方法的优点是比较方便,只要用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进程僵死。见http://www.php.net/bugs.php?id=6122。
由于这些原因,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> ";
?>

 
minij2ee应用服务器实现SJOP协议的主要目的是使php中能够访问EJB企业级组件,因此minij2ee提供了一个EJB-PHP编译器,可以把EJB组件编译成php的类,使php程序中能够方便的调用EJB组件,例如:

<?php
require("Cart.php"); //Cart.php是编译Cart EJB后生成的Cart EJB的php类定义。

$home=new CartHome(); //创建EJB的Home接口。
$objref=$home->create($cart_name); //创建Cart EJB。
$cart=new Cart($objref);

$cart->add("some goods"); //向购物车中添加一个物品。
?>

 

来源:http://3aj.cn/article/14813.html

 

 

 

分享到:
评论

相关推荐

    php调用JAVA类

    1. **JavaBridge**:PHP调用Java最常用的方法之一是通过JavaBridge,这是一个PHP扩展,允许PHP代码直接调用Java对象和方法。首先,需要在服务器上安装JavaBridge,然后在PHP中使用它提供的API来创建Java虚拟机(JVM...

    PHP调用java类的两种方法

    总的来说,选择PHP调用Java类的方式取决于具体需求。如果追求简洁和快速的原型开发,PHP的Java扩展模块可能是个不错的选择。然而,对于需要高性能、稳定性和企业级功能的应用,minij2ee应用服务器和SJOP协议提供了更...

    PHP通过javabridge6.2.1调用 Java的说明及源代码(可运行)

    通过运行`php调用Java.docx`文档中的步骤,你可以在本地环境中验证PHP调用Java的功能是否正常工作。 总的来说,PHP通过JavaBridge调用Java是一种强大的技术,使得PHP应用能够利用Java的丰富库和服务。通过熟练掌握...

    php调用jar包依赖包

    在IT行业中,PHP和Java是两种非常流行的编程语言,它们分别在Web开发和企业级应用领域有着广泛的应用。有时候,我们需要在PHP项目中利用Java的功能,例如调用一些Java库或者服务,这时就会涉及到PHP调用Java的jar包...

    php_java.jar和php_java.dll

    在IT领域,PHP和Java是两种非常流行的编程语言,它们分别在Web开发和企业级应用中占据重要地位。本文将详细探讨"php_java.jar"和"php_java.dll"这两个文件,以及它们在PHP与Java集成中的作用。 "php_java.jar"是一...

    Android调用Java WebService的实现方法.pdf

    文中提到Android访问网络数据有多种方式,主要包括两种方法:一种是基于Http协议的数据获取方法,另一种是基于SAOP协议的数据获取方法。这两者各有优缺点,前者简单易用,后者虽然操作复杂些,但适合处理复杂的数据...

    php调用自己java程序的方法详解

    在PHP中调用Java程序,通常有两种主要方法:一种是通过第三方库,另一种是使用DLL动态链接库。这里我们将详细探讨这两种方法。 首先,我们来看第一种方法:使用第三方库,例如PHP-Java-Bridge。这是一个PHP与Java...

    Python_Perl_PHP_Java Script面向对象支持的比较

    本文将针对四种常见的动态语言——Python、Perl、PHP以及JavaScript,在面向对象支持方面的特性进行深入比较分析。 #### 二、变量的语义 在面向对象编程中,变量是存储数据的重要单元。不同语言对于变量的理解和...

    为php配置java环境

    JavaBridge是PHP与Java集成的一种工具,它允许PHP代码直接调用Java类和方法。通过JavaBridge,开发者可以在PHP环境中执行Java代码,实现PHP和Java之间的无缝交互。 3. **Quercus** Quercus是Caucho Technology...

    php-java-bridge_6.2.1_documentation

    部署后,这个WAR文件会被解压并运行,提供PHP调用Java的接口。开发者可以通过HTTP GET或POST请求来调用Java方法。 5. PHP端调用Java 在PHP中,可以使用预定义的类`java`和`java_object`来调用Java类和方法。例如,...

    PHPJava Bridge技术文档资料

    PHP调用Java的方法 - **命名空间(Namespace)映射**:PHP中的命名空间可以映射到Java的包名,使得PHP可以按包名调用Java类。 - **方法调用**:PHP可以通过Bridge调用Java类的静态或非静态方法,并传递参数。 - ...

    JavaBridge.jar、php-script.jar、php-servlet.jar

    这些JAR文件允许在Java环境中运行PHP脚本,为开发者提供了混合使用这两种语言的能力,从而利用Java的稳定性和PHP的灵活性。 **JavaBridge.jar** JavaBridge.jar是Java PHP Bridge的核心部分,它提供了Java和PHP之间...

    php/java混合网络编程

    是一个流行的PHP内容管理系统,它提供了一种通过PHP调用Java组件的方式,使得开发者可以在Joomla!中利用Java的强大力量。 7. **JSP/Servlet与PHP集成**:在服务器端,可以通过部署Java的JSP和Servlet来处理特定任务...

    php+java的配置方法总结

    本文将详细介绍如何在PHP环境中配置并使用Java组件,这对于那些希望利用这两种语言各自优势的开发者来说非常有用。下面将通过几个步骤来指导你完成这一配置过程。 #### 二、环境准备 1. **操作系统:** Windows ...

    基于Java的实例开发源码-PHPJava Bridge.zip

    1. **PHPJava Bridge原理**:PHPJava Bridge通过HTTP协议或者Socket连接,允许PHP调用Java的方法,将Java对象转换为PHP变量,反之亦然。它可以用于执行Java服务、访问Java库或者处理复杂的计算任务。 2. **Java端...

    PHP_JAVA_RSA互通加解密

    总的来说,"PHP_JAVA_RSA互通加解密"项目提供了一种在PHP和Java之间进行安全数据交换的方法,它结合了RSA算法的优势,以及两种语言的灵活性,为跨平台的数据安全通信提供了有效解决方案。开发者可以通过学习这个项目...

    JavaBridge.jar,php-servlet.jar

    主要工作原理是将 PHP 请求转换为 Java 方法调用,然后执行 Java 代码并返回结果给 PHP。这样,开发者可以利用 Java 的高性能和丰富库,例如数据库连接池、加密算法等,来增强 PHP 应用的性能和功能。 - **使用...

    java和php通信

    Java和PHP是两种广泛应用的编程语言,它们在不同的场景下各有优势。在某些情况下,我们需要在Java应用和PHP应用之间实现通信,以便于数据交换或服务调用。本篇文章将详细探讨如何通过Java的ServerSocket类来建立一个...

    php,java连接打印机插件lodop

    标题中的“php,java连接打印机插件lodop”指的是在PHP和Java这两种编程语言中,使用 Lodop 打印机插件来实现打印功能的技术。Lodop 是一种跨平台的网页打印解决方案,它允许开发者通过Web页面控制本地或网络打印机...

    PHP与Java进行通信的实现方法

    标题中的“PHP与Java进行通信的实现方法”指的是在PHP应用程序中调用Java代码或服务以实现特定功能的技术。这通常涉及到跨语言交互,因为PHP和Java是两种不同的编程语言,有着各自的执行环境。在描述中提到,这种...

Global site tag (gtag.js) - Google Analytics