首页 > 代码库 > PHP JAVA Bridge桥的最新使用

PHP JAVA Bridge桥的最新使用

PHPJava之间搭建一座桥梁,利用这座桥梁在这两个实体之间建立起一个沟通渠道,在这座桥梁的帮助下,你可以在Java中开发类,然后在PHP中调用它们的方法,同样,在你的Java桌面或Web应用程序中也可以使用PHP脚本。

http://php-java-bridge.sourceforge.net/pjb/PHP JAVA Bridge的官方网站。可以在此网站查看PHP JAVA Bridge的详细资料。

 

安装和配置PHP/Java

最新的PHP/Javazip包可在http://sourceforge.net/projects/php-java-bridge/files/下载JavaBridgeTemplate611.war,此包大小为523KB安装过程依赖于选择哪个Java平台通过这座桥与PHP脚本交互。下面是安装javaphp需要的环境和版本。

 

安装J2SE 1.6或更高版本

配置java环境变量(这个很简单我就不多说了)

 

安装PHP 5.2.6或更高版本

    修改php.ini文件中的配置为:

       

  allow_url_fopen = On  allow_url_include = On

 

 

 

   重启Apache。

安装java_EE_sdk-6

    把下载到的JavaBridgeTemplate611.war(此包的文件名可以修改)直接复制到java_EE_sdk-6的安装目录的C:\glassfishv3\glassfish\domains\domain1\autodeploy 下。

    然后把编译好的java类文件的jar包放入到JavaBridgeTemplate611.war中的lib目录下(跟JavaBridge.jar包在同一目录下)。重启Java EE 6 SDk。

这样就可以在php文件中调用java的方法了。

下面是我的写的java的一个测试的类,文件名为test.java:

public class test { public String name = "";  public void setname(String name){  this.name = name; }  public String getname(){  return this.name; }  public float add(float num1, float num2){  return num1 + num2; }} 

 

把test.java文件打成test.jar包,然后放到JavaBridgeTemplate611.war中的lib目录下(跟JavaBridge.jar包在同一目录下)。重启Java EE 6 SDk。

下面是php的测试文件test.php

<?phpheader(‘Content-type: text/html; charset=utf-8‘);require_once("http://localhost:8080/JavaBridgeTemplate611/java/Java.inc");// get instance of Java class java.lang.System in PHP$system = new Java(‘java.lang.System‘);// demonstrate property accessecho ‘Java version=‘ . $system->getProperty(‘java.version‘) . ‘<br/>‘;echo ‘Java vendor=‘ . $system->getProperty(‘java.vendor‘) . ‘<br/>‘;echo ‘OS=‘ . $system->getProperty(‘os.name‘) . ‘ ‘ .             $system->getProperty(‘os.version‘) . ‘ on ‘ .             $system->getProperty(‘os.arch‘) . ‘ <br/>‘;// java.util.Date example$formatter = new Java(‘java.text.SimpleDateFormat‘,                     "EEEE, MMMM dd, yyyy ‘at‘ h:mm:ss a zzzz");echo $formatter->format(new Java(‘java.util.Date‘));echo ‘<br/>‘;//下面是php调用自己编写的test.java的方法。        $test = new java("test");                //产生实例“test”是java的jar包名。        $test->setname("php调用java的方法!");        //后面的调用就跟在php中调用类方法一样                echo "调用类test的getname方法,返回值为:------------".$test->getname()."<br>";        echo "调用test的add方法,返回值为:--------".$test->add(11.9, 15.2);?>

 

 

然后运行test.php文件,如果得到下面的结果,表示配置和调用成功。

Java version=1.6.0_10-rc2
Java vendor=Sun Microsystems Inc.
OS=Windows XP 5.1 on x86
星期二, 四月 06, 2010 at 4:57:59 下午 中国标准时间
调用类test的getname方法,返回值为:------------php调用java的方法!
调用test的add方法,返回值为:--------27.099998

PHP JAVA Bridge桥的最新使用