注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

_

_

 
 
 

日志

 
 

PHP JAVA Bridge桥的最新使用  

2015-01-23 03:06:07|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
PHP JAVA Bridge桥的最新使用

2010-04-06 16:58:38|? 分类: php java |? 标签: |举报 |字号大中小 订阅

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

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

安装和配置PHP/Java

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

安装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

<?php

header('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 access
echo '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

  评论这张
 
阅读(271)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017