php如何调用java方法-PHP问题

资源魔 47 0

php挪用java办法:起首下载“php-java-bridge_6.2.1_documentation.zip”并运转JavaBridge;而后正在www目次下新建test.php;最初正在PHP中挪用自界说的JAVA类便可。

保举:《PHP视频教程》《java视频教程》

1. PHP挪用JAVA办法

1.1. 软件需要

  • 下载php-java-bridge_6.2.1_documentation.zip,下载地点为: http://php-java-bridge.sourceforge.net/pjb/download.php
  • JavaBridge.jar:将下面的php-java-bridge_6.2.1_documentation.zip解压失去一个JavaBridge.war,将JavaBridge.war重定名为JavaBridge.jar,再次用WinRAR对JavaBridge.jar解压到JavaBridge目次,正在JavaBridge\WEB-INF\LIB外面能够找到JavaBridge.jar以及Lucene.jar。
  • JDK:JavaBridge是由Java言语完成的,以是必需装置JDK完成对jar文件执行提供支持。并配好环境变量。

1.2. 运转JavaBridge

  • 双击运转JavaBridge\WEB-INF\LIB里的JavaBridge.jar,应该会弹出一个能够抉择的对话框,假如不弹出,是由于不装置JDK或许文件联系关系谬误,处理办法是装置JDK或许运转“start javaw -jar JavaBridge.jar”(内容保留到*.bat外面,而*.bat与JavaBridge.jar同一个目次)代替双击。弹出对话框后不必抉择,间接点击“确定”便可。正确以下:

1.3. 测试JavaBridge

  • 正在www目次下新建test.php,内容以下:
require_once("java/Java.inc");

$system = new Java('java.lang.System');

$s = new Java("java.lang.String", "php-java-bridge config...<br><br>");

echo $s;

print 'Java version='.$system->getProperty('java.version').' <br>';

print 'Java vendor=' .$system->getProperty('java.vendor').' <br>';

print 'OS='.$system->getProperty('os.name').' '.

$system->getProperty('os.version').' on '.

$system->getProperty('os.arch').' <br>';

$formatter = new Java('java.text.SimpleDateFormat',

"EEEE, MMMM dd, yyyy 'at' h:妹妹:ss a zzzz");

print $formatter->format(new Java('java.util.Date')).' <br>'.' <br>';
  • 找到JavaBridge\WEB-INF\LIB里的JavaBridge.jar,解压JavaBridge.jar能够正在JavaBridge\META-INF外面找到java目次,齐全拷贝java目次与test.php同目次,而后运转:http://localhost/test.php,会有以下内容输入,阐明JavaBridge装置胜利了

1.4. 正在PHP中挪用自界说的JAVA 类

  • 先建一个测试类Test.java:
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;

    }

}
  • 编写完类,将Test.java编译天生class文件,将Test.class拷贝到C:\Program Files\Java\jre7\classes目次下,由于版本号的没有同,jre7文件夹名字可能没有同。装置JDK时分默许不C:\Program Files\Java\jre7\classes,需求手动建设。
  • 修正Test.php的内容为:
//自界说类测试

require_once("java/Java.inc");

$test = new Java("Test"); //孕育发生实例

$test->setName("哈哈,PHP挪用JAVA的办法!"); //前面的挪用就跟正在php中挪用类办法同样

print "挪用类Test的getName办法,前往值为:".$test->getName()."<br>";

print "挪用Test的add办法,前往值为:".$test->add(11.2, 15.7);
  • 再拜访http://localhost/test.php,页面就输入上面内容了:
  • 就这个东东搞了一天赋搞进去,哎 网上找了很多多少办法都行欠亨,这样每一次都要把class移到jre目次里没有不便,加之java_require("Test.jar"); 援用jar包却报这个错: Warning: java_require() not supported anymore. Please use <a href="http://php-java-bridge.sourceforge.net/pjb/webapp.php>tomcat or jee hot deployment</a> instead in D:\wamp\www\java\Java.inc on line 1656 没有晓得怎样搞能力间接援用jar包,有会的同窗还请指教哦!

以上就是php若何挪用java办法的具体内容,更多请存眷资源魔其它相干文章!

标签: php php教程 java php故障解决 php使用问题

抱歉,评论功能暂时关闭!