導航:首頁 > 編程語言 > java調用php方法參數傳遞參數

java調用php方法參數傳遞參數

發布時間:2022-05-01 21:39:16

java調用php,php如何獲取參數

java 裡面有一個URL對象,比如:

在php裡面獲取參數:
echo $_GET['id'];
這樣就獲取了

⑵ php調用Java webservice,soapCall方法傳遞參數問題

sfsadf

⑶ 如何在java程序中調用php文件

publicStringexecPHP(StringscriptName,Stringparam){
StringBuilderoutput=newStringBuilder();
BufferedReaderinput=null;
StringphpPath="D:/xampp/php/php.exe";
try{
Stringline;
Processp=Runtime.getRuntime().exec(phpPath+""+scriptName+""+param);
input=newBufferedReader(newInputStreamReader(p.getInputStream()));
while((line=input.readLine())!=null){
output.append(line);
//p.destroy();//根據系統不同可能需要
}
p.destroy();
}catch(Exceptionerr){
err.printStackTrace();
}finally{
if(input!=null){
try{
input.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
}
returnoutput.toString();
}

//調用php演算法

conclusion=runPHP.execPHP(ALGORITHM_RESIDUES_URL,imageResiesId);

//php接收

$id=$argv[1];

因為此方法是java開進程直接調用php,因此是以內存方式傳參

⑷ java後台如何接收php用post方式提交過來的請求參數

寫一個介面來接受post過來的數據就行了

⑸ java怎麼調用php的語句是什麼

PHP調用JAVA方式
1. 背景
在開發招商銀行信用卡分期付款功能過程中,在支付成功之後需要對銀行的返回數據進行簽名驗證,因簽名加密方式招商銀行是不提供的,只提供了相應的JAVA驗證類測試例子,而本項目採用的是PHP架構方式,因此需要PHP調用JAVA的驗證類來測試簽名是否正確。
2. 目的
本文檔提供一種PHP調用JAVA類的方式來進行招行的支付成功簽名驗證,本方法也可用於其他銀行的JAVA簽名驗證方式。
3. 名詞解釋
名詞
解釋說明
php-java-bridge
PHP和JAVA的連接橋
4. php-java-bridge安裝和配置介紹
4.1 安裝
Php-java-bridge下載路徑:
http://sourceforge.net/projects/php-java-bridge/files/RHEL_FC%20SecurityEnhancedLinux/php-java-bridge_5.4.4.2/最新php-java-bridge版本是php-java-bridge_6.2.1.tar.gz解壓之後採用/usr/local/php/phpize進行模塊編譯,提示Cannot find config.m4,版本過高問題,採用了5.4.4.2版本。
編譯及安裝:
tar zxvf php-java-bridge_5.4.4.2.tar.gz
cd php-java-bridge-5.4.4.2/
/usr/local/php/bin/phpize
./configure --disable-servlet --with-java=/usr/local/java/,/usr/local/java/jre --with-php-config=/usr/local/php/bin/php-configmake && make install
4.2 配置
vim /usr/local/php/etc/php.ini
[新增]
extension=java.so
[java]
java.java_home="/usr/local/java/"
java.java="/usr/local/java/jre/bin/java"
java.log_file="/var/log/php-java-bridge.log"java.classpath="/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/JavaBridge.jar"java.libpath="/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/"java.log_level="3"
java.hosts="10.204.79.232:8081"
4.3 啟動
重新啟動nginx或者apache,輸入<?php phpinfo();?>可以看到java support
Enabled
java bridge
5.4.4.2
java.log_level
2
手動啟動javaBridge
java -jar JavaBridge.jar SERVLET:8080&
也可以嘗試使用java -jar JavaBridge.jar SERVLET_LOCAL:8081&4.4 測試
解壓javaBridge.jar,取出java目錄下相關的Java.inc文件測試代碼:
require_once("java/Java.inc");
$string = new Java("java.lang.String", "HelloWorld");echo $string;
$system=new Java("java.lang.System");
echo "Java version=".$system->getProperty("java.version")." ";注意:java/Java.inc記得從javaBridge.jar解壓出來放在相關php代碼中注意取值:java_is_true java_is_false java_values5. 注意事項及配置過程中的問題
下述描述在實際配置測試過程中可能會碰到的問題及解決方法:
5.1 問題
問題1:
configure: error: host_alias is not set. Make sure to run config.guessBack-end configuration failed.
Please install the recommended autoconf, libtool and automake versionsor disable back-end configuration and use the pre-compiled J2EE back-end:
./configure --disable-backend --with-java=<JAVA_HOME>
configure: error: ./configure.gnu failed for server安裝yum install libtool即可
5.2 注意事項
事項1:
遠程調用require_once(『http://10.204.79.231:8080/JavaBridget/java/Java.inc『);需要設置php.ini的allow_url_include參數為on,同時編輯 JavaBridge 部署的 Web 應用程序目錄中的 web.xml 文件,如下:
取消對這個部分的注釋,以便允許對您的 Java 類進行遠程訪問<init-param>
<param-name>promiscuous</param-name>
<param-value>On</param-value>
</init-param>
事項2:
在實際生產環境中,考慮到如果每台機器都部署一個JavaBridge服務的話,不好維護。故考慮在單台或2台左右機器上部署,其他機器連接到部署機器上,可以做分流承壓的功效並且易監控。在外網環境下發現在調用部署環境的內外網IP都無法獲取到指定文檔。實際require_once本質就是調用部署環境的java.inc文件,可以考慮把相關文件放在本地生產環境上,但在引用Java_require相關JAR包會提示連接不到JavaBridge服務,閱讀Java.inc可以查看它會通過幾個地方設置JAVA_HOST宏變數,第一種是通過require_once裡面的IP或者域名和埠,另外一種是在未設置JAVA_HOST宏變數的前提下讀取php.ini,如果都沒有java.hosts參數則默認為127.0.0.1:8080。
排除第一種方式如果採用讀取php.ini的話,因為本身java.hosts參數不屬於PHP可人為設置的參數,採用ini_set函數並不能指定java.hosts的值,所以一種方式是在所有項目的生產環境的php.ini都指定內網IP和埠,如java.hosts=10.204.79.231:8080。還有一種方式,查閱Java.inc可以看到是在未設置JAVA_HOST變數的前提下是去讀取php.ini,我們可以在require_once(『java/Java.inc『)之前新增一行define ("JAVA_HOSTS", $host)。
5.3 參考例子
個人的實際測試代碼如下:
private function _checkSign($strText, $strSign){$ret = false;
try{
$host = ConfigWrapper::load()->services->phpjava->host;if($host != NULL){
define ("JAVA_HOSTS", $host);
}
require_once(『java/Java.inc『);
java_require(self::CMBJAR);
$pay = new Java(『testCdpaySign『, self::CERFILE);$result = $pay->checkSign((string)$strText, (string)$strSign);if(java_is_true($result) == 1){
$ret = true;
}
}catch (\Exception $e) {
Logger::debug("_checkSign = " . $e->getMessage());}
return $ret;
}

⑹ Java 與PHP等相互調用的問題

跨語言調用有很多方式的,比較常用的有以下幾種方式

  1. 互相提供http協議的web數據介面

  2. 提供SOAP協議的webservice調用

  3. 使用protocol buffer或類似的自定義通信協議通信

  4. RPC調用

⑺ Java調用php介面,入參只支持form-data格式,如何封裝參數

介面返回的參數格式一般是由客戶端的需要來設置,至於你說的這些,一般是封裝成一個對象,然後將對象轉換成Json字元串返回,客戶端接收到Json字元串後,再轉換成對象來解析需要的信息就可以了。

⑻ java對php傳值

java採用apache項目的httpclient進行http通信

//構造HttpClient的實例
HttpClient httpClient = new HttpClient();

String url = "http://193.167.13.21/setup.cgi";
PostMethod postMethod = new PostMethod(url);

// 填入各個表單域的值
NameValuePair[] data = {
new NameValuePair("ID", "11"),
new NameValuePair("mtg", "0"),
new NameValuePair("haveCookie", "0"),
new NameValuePair("backID", "30"),
new NameValuePair("psw", "password")
};

// 將表單的值放入postMethod中
postMethod.setRequestBody(data);
// 執行postMethod
int statusCode = 0;
try {
statusCode = httpClient.executeMethod(postMethod);
} catch (HttpException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

⑼ php調用java介面,java段要求json格式的請求參數

java端取值方式錯了,用流取.
br = request.getReader();
StringBuffer sb = new StringBuffer("");
String temp;
while ((temp = br.readLine()) != null) {
sb.append(temp);
}
br.close();
System.out.print(sb.toString())

⑽ java能不能遠程調用php,並傳輸數據,如果能怎麼實現

都是支持網路通信的程序語言,當然可以。

最簡單、常用的方法就是通過HTTP協議,此種方法使用現有web service比較多;
如果需要大量傳輸數據可以使用FTP;
如果客戶端比較多,也可以使用P2P通信。
------------------------------------->
都是HTTP的內容,很好弄,直接用PHP解析接收到的信息就可以了。

閱讀全文

與java調用php方法參數傳遞參數相關的資料

熱點內容
fibonacci數列演算法 瀏覽:775
產品經理要和程序員吵架嗎 瀏覽:252
grub2命令行 瀏覽:618
無法獲取加密卡信息 瀏覽:774
雲伺服器網卡充值 瀏覽:509
編程就是軟體 瀏覽:49
伺服器如何添加許可權 瀏覽:437
引用指針編程 瀏覽:851
手機加密日記本蘋果版下載 瀏覽:63
命令行括弧 瀏覽:176
java程序升級 瀏覽:490
排序演算法之插入類 瀏覽:227
gcccreate命令 瀏覽:73
海爾監控用什麼app 瀏覽:64
系統盤被壓縮開不了機 瀏覽:984
linuxredis30 瀏覽:541
狸窩pdf轉換器 瀏覽:696
ajax調用java後台 瀏覽:906
活塞式壓縮機常見故障 瀏覽:614
break演算法 瀏覽:731