zoukankan      html  css  js  c++  java
  • 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:glassfishv3glassfishdomainsdomain1autodeploy 下。

        然后把编译好的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

    现主要从事PHP、Uinx/Linux、C/C++等方面的项目开发。
  • 相关阅读:
    PHP在yii2中封装SuperSlide 幻灯片编写自己的SuperSlideWidget的例子
    安卓界面控件屏幕居中Layout例子
    java web的开发 知识要点
    PHP MVC简单介绍,对PHP当前主流的MVC做了一个总结
    自己编写的一个有关安卓应用开发培训PPT
    springboot配置fastjson后端往前端传输格式化
    实现商城商品秒杀分析
    idea添加jdbc包
    idea心得
    gc overhead limit exceeded内存问题
  • 原文地址:https://www.cnblogs.com/lsl8966/p/4163020.html
Copyright © 2011-2022 走看看