php 调用java类方法示例

内容摘要
这篇文章主要为大家详细介绍了php 调用java类方法示例,具有一定的参考价值,可以用来参考一下。

对php中调用java类的方法对此感兴趣的朋友,看看idc笔记做的技术笔记!在网上找了
文章正文

这篇文章主要为大家详细介绍了php 调用java类方法示例,具有一定的参考价值,可以用来参考一下。

对php中调用java类的方法对此感兴趣的朋友,看看idc笔记做的技术笔记!在网上找了一个用java写的计算词语相似度的程序,但是想在php中去调用它,所以这两天就研究了一下在php中调用java类的方法。 我的整个配置环境如下:OS:win7 apache:2.2 PHP:5.2 JDK:1.6 php-java-bridge和java.inc: 5.5.2下载地址:http://sourceforge.net/projects/php-java-bridge/files/php-java-bridge的配置过程如下:将下载的JavaBridge.jar放到php的ext目录下,同时双击运行,并且根据选择的端口号相应修改java.inc中的#define ("JAVA_HOSTS", "127.0.0.1:8787")为define ("JAVA_HOSTS", "127.0.0.1:选择的端口号"),注意去掉前面的#号。编写自己的Java类,实现PHP调用自定义的Java类:首先编写java类源文件,命名为Test.java,源码如下:

/**
 * php中调用java类的方法
 *
 * @param 
 * @arrange 512-笔记网: www.512Pic.com
 **/
public class Test
{
private String name = "";
//setter and getter
public void setName(String name)
{
this.name = name;
}
public String getName()
{
return this.name;
}
//加法
public float add(float num1, float num2)
{
return num1 + num2;
}
}
/***   来自php教程(www.idcnote.com)   ***/
编写完类,将Test.java编译生成class文件,通过JavaBridge来调用我们需要打成jar包,在cmd下执行:jar cf Test.jar Test.class命令打包生成Test.jar包。将生成的jar包拷贝到apache的web应用根目录之下,我这里放到phpjava目录,同时将java.inc也拷到该目录下。接下来我们就可以在PHP中调用了,编写test.php文件放入phpjava目录,代码如下:PHP代码:

/**
 * php中调用java类的方法
 *
 * @param 
 * @arrange 512-笔记网: www.512Pic.com
 **/
<?php
require_once("Java.inc"); //必须包含的配置文件
java_require("Test.jar"); //引用包含的jar包
$test = new Java("Test"); //产生实例
$test->setName("哈哈,PHP调用JAVA的方法!"); //后面的调用就跟在php中调用类方法一样
echo "调用类Test的getName方法,返回值为:".$test->getName()."<br>";
echo "调用Test的add方法,返回值为:".$test->add(11.2, 15.7);

/***   来自php教程(www.idcnote.com)   ***/
运行输出结果为:调用类Test的getName方法,返回值为:哈哈,PHP调用JAVA的方法! 调用Test的add方法,返回值为:26.9注意问题:1.比较高版本的JavaBridge.jar不支持java_require()方法,不知道什么原因,所以我用了低一点的版本;2.apache的版本也是一个问题,有的版本的apache使得输出结果为Object id #XX;3.运行时必须打开JavaBridge.jar;4.php输出时有时中文会是乱码,这时将php程序文件保存为utf-8格式,同时令网页中的charset=UTF-8即可。

注:关于php 调用java类方法示例的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!