PHP調用JAVA方法

來源:互聯網
上載者:User

標籤:

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:mm: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方法

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.