當前位置:首頁 » 編程語言 » java調用php

java調用php

發布時間: 2022-06-28 20:24:22

A. java 客戶端怎麼調用 php nusoap寫的webservice

java可以用HttpClient寫一個http請求 給請求路徑 設置請求方式 post/get 帶請求參數就行了

網上的這些不同技術 java php .net之間交互其實都是發送和接受http請求 沒個技術都有自己專門發送和接受http請求的方式

B. 請教一下java和php協同開發的方法

引用
因為在做垂直搜索工作中,使用的是java編寫的一個搜索類庫。做垂直搜索,很多實用要使用到配置。當搜索的信息量大時,網站的更新。搜索程序的配置維護是一個不可忽視的問題。所以用了php做網頁,提供配置界面,這樣就可以不用直接修改配置文件或是配置資料庫表。當把配置信息配置好了,我們需要檢測配置是否正確,因為使用的是java程序,所以檢測配置的正確與否使用的也是java程序來檢測。這里就存在一個問題,就是需要把php頁面上的信息傳入到java程序中去檢測。這個時候就需要php和java通信了。下面我就來介紹下怎麼使php跟java通信(當然,你也可以使用類似webservice等技術)也就是php中調用java程序。 php要調用java程序:需要以下准備,php程序,java程序,還有就是shell程序或是bat程序。下面分別介紹下在linux伺服器下php調用java程序和在windows伺服器下調用java程序。前提是php,apache,jdk的環境都已經配置好。
一 在linux下php調用java程序是通過shell文件。分別是以下三個文件: test_shell.php test_shell.java test_shell.sh 他們的源代碼如下:

1.test_shell.java程序代碼

public class test_shell {

public static void main(String[] args) {

System.out.println("你輸入的參數是:"+args[0]+"t"+args[1]);

}

}

2.test_shell.php程序代碼

<?php

/*

* 該函數是用來執行shell命令的,其實還可以使用:exec(),system(),
* popen()和pclose(),passthru() 函數。最長用的是前面兩個和例中使
* 用的shell_exec()。

*/

$args1="我喜歡你";

$args2="我很愛你";

// 注意空格

$r=shell_exec("./test_shell.sh $args1 $args2");

echo $r;

?>

3.test_shell.sh程序代碼是

#!/bin/sh

JAVA_HOME=/usr/local/jdk

CLASSPATH=.:/usr/local/jdk/jre/lib/rt.jar:/usr/local/apache/htdocs/test_shell/test_shell.class

PATH=$PATH:$JAVA_HOME/bin

export JAVA_HOME CLASSPATH PATH

cd /usr/local/apache/htdocs/test_shell

java test_shell

#shell代碼結束

以下是三個程序的存放路徑和運行次序。
1.三個文件都必須在同一目錄下,比如在/usr/local/apache/htdocs/test_shell/下,不然php很難調到java程序。

2.把test_shell.java程序編譯成test_shell.class,然後把test_shell.class文件存放到CLASSPATH中。如果系統配置了那些環境變數,這里在配置一次是沒有壞處的,也不會影響配置好的系統環境變數。這里設置的好處是當沒有配置jdk環境配置,只有jre時,則需把jre放到/usr/local/jdk下就以。

二、下面先介紹在windows伺服器下,php調用java程序是通過bat文件來的。分別是以下三個文件: test_bat.php test_bat.java test_bat.sh 他們的源代碼如下:

1.java程序

public class test_bat {

public static void main(String[] args) {

System.out.println("你輸入的參數是:"+args[0]+"t"+args[1]);

}

}

2.test_bat.php程序代碼

<?php

/*

* 該函數是用來執行shell命令的,其實還可以使用:exec(),system(),
* popen()和pclose(),passthru() 函數。最長用的是前面兩個和例中使
* 用的shell_exec()。

*/

$args1="我喜歡你";

$args2="我很愛你";

// 注意空格

$r=shell_exec("./test_shell.sh $args1 $args2");

echo $r;

?>

3.test_bat.sh程序代碼是

@echo off
set path=%path%;%cd%jrebin
set CLASSPATH=.;%cd%jrelibrt.jar;%cd%test_bat.class
java test_bat %1 %2

#bat代碼結束

1.三個文件都必須放在同一目錄下,比如在/usr/local/apache/htdocs/test_bat/下,不然php很難調到java程序。

2.把test_bat.java程序編譯成test_bat.class,然後把test_bat.class文件存放到CLASSPATH中。如果系統配置了那些環境變數,這里在配置是沒有壞處的,也不會影響配置好的系統環境變數。這里設置的好處是當沒有配置jdk環境配置,只有jre時,則需把jre放到跟跟test_bat.java同一目錄下就行了。

三、上面兩個例子中,test_shell.sh用的絕對路徑,test_bat.bat是用的相對路徑。不管是絕對還是相對,只要路徑對了就行了。

C. java如何調用php介面

java那邊用個http客戶端,
請求php這邊的應用就可以了,
不過兩個系統還是要約定好
通信協議
(輸入/輸出數據格式)!
希望回答能給你帶來幫助~
如果滿意,請採納,如還有疑問,可繼續追問!
您也可以向我們團隊發出請求,會有更專業的人來為您解答!

D. JAVA程序(不是JAVASCRIPT)可以在PHP里運行嗎如果可以的話,怎麼將JAVA程序「嵌」入PHP

可以肯定的說,
可以,
只不過你需要通過PHP外部調用的方式來和java程序交互,一般是通過socket,或者file來傳送消息。
我不知道你的java程序是什麼類型的,
是j2se的?還是J2EE的,
不同的程序交互方式不同。

E. java 怎麼調用php的api介面

這個看你的需求了 如果你是底層調用 你可以自己寫參考php的源碼寫c介面,如果不是底層,就php讓把數據上傳xml json格式 java處理。。。

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

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

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

G. java怎麼調用php的語句是什麼

可以通過 include 或 require 語句調用另一個php文件。以include為例,如: require也是一樣的語法。 區別在於: require 會生成致命錯誤並停止腳本。 include 只生成警告,並且腳本會繼續。

H. 如何在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,因此是以內存方式傳參

熱點內容
linux下qt編譯兩個小時 發布:2024-04-18 18:56:24 瀏覽:545
python27安裝庫 發布:2024-04-18 18:48:51 瀏覽:23
hashjava 發布:2024-04-18 18:40:48 瀏覽:173
c語言可以在 發布:2024-04-18 18:34:09 瀏覽:390
汽車如何配置導航 發布:2024-04-18 18:23:13 瀏覽:139
北大訪問學者 發布:2024-04-18 18:23:12 瀏覽:858
php寫入一行 發布:2024-04-18 17:57:01 瀏覽:860
控制網加密 發布:2024-04-18 17:36:49 瀏覽:124
android拍照源碼 發布:2024-04-18 17:18:49 瀏覽:412
go臨時存儲 發布:2024-04-18 17:12:11 瀏覽:406