首页 > 开发 > PHP > 正文

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

2024-05-04 22:30:38
字体:
来源:转载
供稿:网友

本文实例讲述了php调用自己的java程序实现方法。分享给大家供大家参考,具体如下:

最开始要装jdk这个就不用说了,我装的是java ee 5+jdk

1.把下载的php-java-bridge_5.2.2_j2ee.zip解压出来,里面有个JavaBridge.war 直接用winrar打开,到WEB-INF/lib/JavaBridge.jar 把这个jar包拷到 你的php目录的ext/下。

2.打开war包,里面有个java的文件夹,把他全部拷到你的PHP项目下,如/demo/java

3.目前的版本是VMBridge了,要php调用java类,要先启动JavaBridge,

命令行下调用java –jar JavaBridge.jar或者双击JavaBridge.jar,在弹出的窗口中选择监听端口8080

为了以后启动方便,我在ext/下新建了一个bat文件内容如下:

@echo offstart javaw -jar JavaBridge.jar

保存后,双击启动 会有一个提示框选择vmbridge port 默认8080,直接点ok就行了

4.在/demo/下新建test.php内容如下:

<?phprequire_once("java/Java.inc");header("content-type:text/html; charset=utf-8″);// get instance of Java class java.lang.System in PHP$system = new Java('java.lang.System');$s = new Java("java.lang.String", "php-java-bridge config…<br><br>");echo $s;// demonstrate property accessprint '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>';// java.util.Date example$formatter = new Java('java.text.SimpleDateFormat',"EEEE, MMMM dd, yyyy 'at' h:mm:ss a zzzz");print $formatter->format(new Java('java.util.Date'));?>

5.启动apache,在浏览器中查看 http://localhost/demo/test.php

会看到如下信息:
代码如下:php-java-bridge config…
Java version=1.6.0_10
Java vendor=Sun Microsystems Inc.
OS=Windows Vista 6.0 on x86
星期日, 十一月 23, 2008 at 4:31:49 下午 中国标淮时间

自定义JAR:

package ttt;public class phptest{ /** * A sample of a class that can work with PHP * NB: The whole class must be public to work, * and of course the methods you wish to call * directly. * * Also note that from PHP the main method * will not be called */ public String foo; /** * Takes a string and returns the result * or a msg saying your string was empty */ public String test(String str) {  if(str.equals("")) {   str = "Your string was empty. ";  }  return str; } /** * whatisfoo() simply returns the value of the variable foo. */ public String whatisfoo() {  return "foo is " + foo; } /** * This is called if phptest is run from the command line with * something like * java phptest * or * java phptest hello there */ public static void main(String args[]) {  phptest p = new phptest();  if(args.length == 0) {   String arg = "";   System.out.println(p.test(arg));  }else{   for (int i = 0; i < args.length; i++) {    String arg = args[i];    System.out.println(p.test(arg));   }  } }}            
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表