最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP-Java-Bridge使用筆記

 更新時(shí)間:2014年09月22日 09:40:47   投稿:hebedich  
這是我在做平安銀行開(kāi)發(fā)的時(shí)候,本地使用PHP環(huán)境,平安銀行接口為Java接口的時(shí)候,采用PHP-Java-Bridge的方式調(diào)用接口的筆記。因?yàn)楝F(xiàn)在網(wǎng)上的教程基本上都不行了,所以在這里貼出我能使用的而且目前網(wǎng)上最新的版本(2014-09-19),如果有錯(cuò),請(qǐng)通過(guò)郵件聯(lián)系,謝謝。

/**============================================================

* @author  ken(695093513@qq.com)

* @date    2014-09-09

*
==============================================================**/

/**============================================================

* 版本與環(huán)境

*
==============================================================**/

版本:

1、PHP版本:最高為5.4,當(dāng)前測(cè)試為5.4/5.3

2、JDK:官方最新版本,當(dāng)前測(cè)試為1.8

3、php-java-bridge:官方最新版本,當(dāng)前測(cè)試為6.2.1

4、操作系統(tǒng):Windows7 32位/64位 | Linux(Centos6.5)

/**============================================================

* 安裝和使用

*
==============================================================**/

第一步:安裝

1、JDK的安裝:正常安裝即可,并配置好環(huán)境變量

2、PHP的安裝:正常安裝即可

3、php-java-bridge的安裝:

①先下載Java服務(wù)器Tomcat正常安裝,安裝好后,開(kāi)啟Tomcat服務(wù)器

②將下載的php-java-bridge包放到webapps下面

③等待Tomcat執(zhí)行解析,會(huì)在該目錄下面生成相同名字的文件夾

④將該文件夾拷貝到Apache服務(wù)器下面使用

(注:網(wǎng)上的教程可以正常使用,調(diào)用java系統(tǒng)函數(shù)和簡(jiǎn)單的jar包,但是對(duì)于復(fù)雜的jar包會(huì)遇到各種各樣的問(wèn)題,所以建議使用這種方式)

第二步:使用

1、不需要開(kāi)啟Tomcat(最好關(guān)閉掉),開(kāi)啟apache服務(wù)器,雙擊運(yùn)行javabridge.jar,選擇8080端口(javabridge.jar也需要放到j(luò)ava虛擬機(jī)下面,參見(jiàn)下面第二點(diǎn)規(guī)則)。

2、盡可能的將jar包放到j(luò)ava虛擬機(jī)下面,即jre安裝下面(比如:C:\Program Files\Java\jre1.8.0_20\lib\ext)

3、在PHP文件中不需要再引用jar包,因?yàn)榉诺教摂M機(jī)下面去了,java會(huì)自動(dòng)調(diào)用

(注:第1點(diǎn)中的javabridge.jar是在第一步:安裝中第3點(diǎn)中獲得的)

/**============================================================

* 其他使用方法和注意事項(xiàng)

*
==============================================================**/

關(guān)于PHP-Java-Bridge的各種函數(shù)使用:

1、高版本的java_require不再使用,也無(wú)法使用,由于放到j(luò)ava虛擬機(jī)下面,則不需要再手動(dòng)引入包文件

2、java_value()用于獲取值,而且必須使用該函數(shù)獲取值

(特別注意:如果該值需要存入數(shù)據(jù)庫(kù),那么必須使用該java_value函數(shù),不然會(huì)報(bào)錯(cuò),或者無(wú)法存入數(shù)據(jù)庫(kù))

3、java_inspect()對(duì)實(shí)例化或者方法進(jìn)行print_r類(lèi)似的輸出

(注:請(qǐng)不要直接使用var_dump這樣的輸出方法輸出java的類(lèi)、方法、變量,需要使用java_inspect或者java_value,例如:var_dump(java_inspect($abc)))

4、實(shí)例化使用 $test = new Java("Test")的方式,如果實(shí)例化的方法中存在參數(shù),可以這樣new Java("Test","pram")

注意事項(xiàng):

1、務(wù)必確保對(duì)java.inc的引用,確保引用正確

2、務(wù)必確保對(duì)jar包放在能引用的地方,比如java虛擬機(jī)jre下面

3、在PHP中調(diào)用Java使用PHP的的寫(xiě)法即可

/**============================================================

* 附錄1:各種報(bào)錯(cuò)問(wèn)題處理

* 附錄2:PHP實(shí)例代碼

* 附錄3:PHP-Java-bridge文件包解壓后目錄圖

*

==============================================================**/

附錄1:各種報(bào)錯(cuò)問(wèn)題處理

1、參照上面的“其他使用方法和注意事項(xiàng)”,大多數(shù)問(wèn)題都是路徑引用的問(wèn)題,只要處理好了,正確獲得了,就不會(huì)出問(wèn)題

附錄2:PHP實(shí)例代碼

require_once("/java/Java.inc");

$util = new Java("com.sdb.payclient.core.PayclientInterfaceUtil");

$input = new Java("com.ecc.emp.data.KeyedCollection");

$signDataput = new Java("com.ecc.emp.data.KeyedCollection");

$input->put("masterId","111111");

$input->put("orderId","222222");

$signDataput = $util->getSignData($input);

$orig = java_values($signDataput->getDataValue("orig"));

$sign = $signDataput->getDataValue("sign");

echo java_values($sign);

附錄3:PHP-Java-bridge文件包解壓后目錄圖

bridge
 --java
 java.inc
 JavaProxy.php
 --WEB-INF
 --cgi
 --...
 --lib
 php-script.jar
 php-servlet.jar
 --pear
 web.xml
 weblogic.xml

相關(guān)文章

最新評(píng)論

平定县| 嫩江县| 黄山市| 长顺县| 凤山市| 新巴尔虎右旗| 台安县| 南华县| 于都县| 东兰县| 江都市| 临海市| 吴堡县| 贡嘎县| 正安县| 陆川县| 阳春市| 卫辉市| 淮北市| 邯郸市| 天全县| 富源县| 银川市| 关岭| 文登市| 乐东| 聂拉木县| 太湖县| 高密市| 屏边| 堆龙德庆县| 鞍山市| 合江县| 镇康县| 青田县| 遂昌县| 合川市| 赫章县| 兴业县| 天津市| 进贤县|