導航:首頁 > 編程語言 > php怎麼調用java介面

php怎麼調用java介面

發布時間:2023-03-07 01:15:06

php怎麼調用java的https方式的webservice介面

webservice 發展了好久了,有好多種客戶端部署調用方式 ,流程大致是先創建服務,再調用。
下面的代碼是創建一個簡單的Webservice服務.
server.php
<?php

require_once "lib/nusoap.php";
function webserver() {
return "This is a Webservice Server";
}
$soap = new soap_server;
$soap->register('webserver');
$soap->service($HTTP_RAW_POST_DATA);
?>

上面的代碼就創建了一個Webservice服務程序,接下來創建調用Webservice介面的程序:
<?php
require_once "soap/lib/nusoap.php";

$web_url = "127.0.0.1";
$client = new soapclient($web_url."/server.php");

$param = array();
$ret = $client->call('webserver', $param, $web_url, $web_url);

echo $ret;

?>
基本上流程就是這樣,當然,實際應用上能寫出很復雜的東西,這個你可以找找相關資料學習一下,上面的php調用Webservice程序是通用的,適合於PHP調用其它ASP.NET及Java等各類語言的Webservice介面。一些技術博文里有很詳細的介紹和學習。

⑵ PHP如何調用JAVA類 - PHP進階討論

在php.ini里設置。有java設置的塊。下面是我以前的一個配置做為示例,可以參考一下。[ol][*][*][Java][*]java.class.path = /usr/local/lib/php/php_java.jar:/usr/local/apache/htdocs/java[*]java.home = /usr/local/j2sdk_nb/j2sdk1.4.2/jre[*]java.library = /usr/local/j2sdk_nb/j2sdk1.4.2/jre/lib/i386/libjava.so[*]java.library.path = /usr/local/lib/php/extensions/no-debug-non-zts-20020429[*]extension_dir = /usr/local/lib/php/extensions/no-debug-non-zts-20020429[*]extension = libphp_java.so[*][/ol]Java的兩個安裝包好象都是默認的安裝。PHP要引用的Java Class要存在於java.class.path指定的路徑區域中。記得當時試了大半天才大致搞明白,呵呵。關於調用直接參考PHP官方文檔里的即可。[[i] 本帖最後由 seraph 於 2006-3-27 16:28 編輯 [/i]]

⑶ java 怎麼調用php的api介面

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.Charset;
import XmlHelper;

public class QXOutStream {
public String outPutStr(String urlStr, String input) throws Exception{
StringBuffer strBuf = new StringBuffer();
String Resulst="";
try{
URL url = new URL(urlStr);
HttpURLConnection con = (HttpURLConnection)url.openConnection();
con.setDoInput(true);
con.setDoOutput(true);
con.setRequestMethod("POST");
con.setAllowUserInteraction(false);
con.setUseCaches(false);
con.setRequestProperty("Accept-Charset", "GBK");
BufferedOutputStream bufOutPut = new BufferedOutputStream(con.getOutputStream());

byte[] bdat = input.getBytes("UTF-8");//解決中文亂碼問題
bufOutPut.write(bdat, 0, bdat.length);
bufOutPut.flush();
BufferedInputStream inp = new BufferedInputStream(con.getInputStream());
InputStreamReader in = new InputStreamReader(inp,Charset.forName("GBK"));
BufferedReader bufReador = new BufferedReader(in);

String tempStr = "";
while (tempStr != null) {
strBuf.append(tempStr);
tempStr = bufReador.readLine();

}
Resulst = XmlHelper.getPostNodeText(strBuf.toString(), "OPERATOR_RESULT");//.getPostFirstRowText(strBuf.toString(), "OPERATOR_RESULT");

}
catch (Exception e) {
//System.err.println("Exception:"+e.toString());
throw e;
//return "N";
}
finally{
return Resulst;
}

}
}
你可以參考這個例子調用php 的api介面,這裡面的urlStr就是你調用php的api url介面

⑷ php怎麼調用java jar

windows下的安裝

第一步:安裝JDK,這是非常容易的,你只需一路回車的安裝好。然後做好以下步驟。

在 Win9x 下加入 :「PATH=%PATH%;C:\jdk1.2.2\bin」 到AUTOEXEC.BAT文件中

在 NT /Win2000下加入 「;C:\jdk1.2.2\bin」到環境變數中。

這一步是非常重要的,這樣PHP才能正確的找到需調用的JAVA類。

第二步:修改你的PHP.INI文件。

[java]

extension=php_java.dll

java.library.path=c:\web\php4\extensions\

java.class.path="c:\web\php4\extensions\jdk1.2.2\php_java.jar;c:\myclasses"

在PHP.INI中加入extension=php_java.dll

並在[java]中,設定好java.class.path,讓它指向php_java.jar,如果你使用新的JAVA類,你也應該存入這個路徑,在這篇例子中,我們使用c:\myclasses這個目錄。

第三步:測試環境,創建如下PHP文件:
<?

$system = new Java("java.lang.System");

print "Java version=".$system->getProperty("java.version")."\n";

print "Java vendor=".$system->getProperty("java.vendor")."\n\n";

print "OS=".$system->getProperty("os.name")." ".

$system->getProperty("os.version")." on ".

$system->getProperty("os.arch")."\n";

$formatter = new Java("java.text.SimpleDateFormat","EEEE,

MMMM dd, yyyy 'at' h:mm:ss a zzzz");

print $formatter->format(new Java("java.util.Date"))."\n";

?>

⑸ PHP MYSQL中怎麼使用java

比較PHP和JSP這兩個Web開發技術,在目前的情況是其實是比較PHP和Java的Web開發。以下是我就幾個主要方面進行的比較:
一、 語言比較
PHP是解釋執行的伺服器腳本語言,首先php有簡單容易上手的特點。語法和c語言比較象,所以學過c語言的程序員可以很快的熟悉php的開發。而java需要先學好java的語法和熟悉一些核心的類庫,懂得面向對象的程序設計方法。所以java不如php好學。
Java首先要編譯成位元組碼.class文件,然後在java虛擬機上解釋執行。Java的Web開發首先最容易想到的就是JSP(現在已經到JSP2.0),原來的java的Web開發都是用servlet來實現的,用servlet來開發需要程序員在java的源文件中嵌入大量的html代碼。所以後來就出現了JSP,JSP可以方便的嵌入到html文件當中,其實jsp文件在伺服器上執行的時候首先會被應用伺服器轉換成servlet,然後再編譯執行。Jsp可以通過servlet和JavaBean的支持產生強大的功能。JavaBean 是一種可復用的、跨平台的軟體組件。使用javabean可以方便的實現java代碼和html的分離,能夠增強系統的功能和軟體的復用性。
Java的Web開發屬於SUN公司定義的J2EE其中的規范。而且在J2EE中包括了java的Web開發的所有方面,如:JSP、Servlet、JDBC、JNDI、JAVABEAN、EJB等等。J2EE就特別適合於做大型的企業級的應用。
二、 資料庫訪問比較
Java通過JDBC來訪問資料庫,通過不同的資料庫廠商提供的資料庫驅動方便地訪問資料庫。訪問資料庫的介面比較統一。
PHP對於不同的資料庫採用不同的資料庫訪問介面,所以資料庫訪問代碼的通用性不強。例如:用Java開發的Web應用從MySQL資料庫轉到Oracle資料庫只需要做很少的修改。而PHP則需要做大量的修改工作。
三、 系統設計架構比較
採用Java的Web開發技術,需要使用的是面向對象的系統設計方法,而PHP還是採用面向過程的開發方法。所以用Java進行開發前期需要做大量的系統分析和設計的工作。
四、 跨平台性
Java和PHP都有很好的跨平台的特性。幾乎都可以在不作任何修改的情況下運行在Linux或者Windows等不同的操作系統上。
五、 開發成本比較
PHP最經典的組合就是:PHP + MySQL + Apache。非常適合開發中小型的Web應用,開發的速度比較快。而且所有的軟體都是開源的,可以減少投入。
Java的Web應用伺服器有Tomcat、JBoss等,如果需要更好的商業化的服務有:Web Sphere和 Web logic。
六、 分布式多層架構比較
PHP只能實現簡單的分布式兩層或三層的架構,而JAVA在這方面就比較強大,可以實現多層的網路架構。資料庫層(持久化層)、應用(業務)邏輯層、表示邏輯層彼此分開,而且現在不同的層都已經有一些成熟的開發框架的支持。例如Struts就是利用java的Web開發技術實現了MVC的設計模式,而在業務邏輯層也有Spring框架,資料庫持久化層有Hibernate等框架。這些框架可以方便開發者高效、合理、科學得架構多層的商業應用。
下面簡要的說一下Struts,它實質上是在JSP Model2的基礎上實現的一個MVC(Model、View、Controler)框架。JSP Model2體系結構是一種聯合使用JSP 與Servlet 來提供動態內容的方法。在Struts框架中,模型由實現業務邏輯的JavaBean或EJB組件構成,控制器由Servlet實現的,視圖由一組JSP文件組成。採用Struts可以明確角色的定義和開發者與網頁設計者的分工。而且項目越復雜,其優勢越明顯。
七、 源代碼安全
PHP開發的程序的源代碼都是公開的,他人拿到php開發的程序後都可以進行修改。
Java開發的程序,最後用戶拿到的是只是一些編譯好的class類,無法看到完整的源代碼,安全性高。
八、性能比較
有人做過試驗,對這兩種種語言分別做迴圈性能測試及存取Oracle資料庫測試。
在循環性能測試中,JSP只用了令人吃驚的四秒鍾就結束了20000*20000的迴圈。而PHP測試的是2000*2000循環(少一個數量級),卻分別用了63秒。
資料庫測試中,二者分別對 Oracle 8 進行 1000 次 Insert,Update,Select和Delete: JSP 需要 13 秒,PHP 需要 69 秒。

綜上所述,我個人認為,PHP適合於快速開發,中小型應用系統,開發成本低,能夠對變動的需求作出快速的反應。而Java適合於開發大型的應用系統,應用的前景比較廣闊,系統易維護、可復用性較好。還有,同樣功能的系統用Java開發的系統要比PHP開發的系統的價格要高。

⑹ php如何訪問java的伺服器

讓Tomcat支持PHP
在負責一個採用JSP動態網頁技術的網站時,剛好手頭有PHP寫的一部分功能,所以就很直接地想到讓Tomcat支持PHP。Tomcat也是Apache出的,難道就只支持JSP嗎?到底能否在Tomcat上用PHP呢?上網搜索了一番,很快有了第一個問題的答案:Tomcat可以支持CGI,如Perl(具體設置見附文)。但繼續搜索,卻遲遲無法找到讓Tomcat使用PHP的方法,一般都是採取裝Apache和Tomcat共存的方法來搭建所謂的支持PHP+JSP的Web平台。
當然,其實PHP本身也支持CGI方式的使用,所以就自己動手試了一試(在Windows操作系統上):先按照附文的做法讓Tomcat支持CGI,然後再改web.xml,在servlet-name為cgi的一段配置中加上:

<init-param>
<param-name>executable</param-name>
<param-value>php</param-value>
</init-param>
並把PHP安裝路徑加入Path,這樣Tomcat就能運行到PHP.exe了。重啟Tomcat後,在WEB-INF目錄下新建一個cgi目錄,把php文件放在這里,然後訪問時用虛擬映射出來的cgi-bin目錄來訪問這些PHP文件。
但是如果對PHP文件不加任何改動的話,可能會發現什麼輸出都沒有。需要在PHP文件頭部加一行,輸出兩個回車:
echo "\n\n";
原因不太清楚。可能在等待Content-type輸入,或是Perl的cgi程序風格。
但這樣配置,PHP(4.1.0以上版本)中$_REQUEST、$_GET、$_POST等變數就無法用了,只能從伺服器變數或環境變數中獲取QueryString了:$_SERVER["QUERY_STRING"]、$_ENV["QUERY_STRING"]。也許不支持表單的POST提交了……具體還沒試過。
由於對Tomcat不熟悉,所以這些只是在現在方法上的小修小補,可能有好的做法,還希望大家不吝指教!

⑺ 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寫的應用程序介面怎麼調用

PHP是編程語言和應用程序伺服器的結合。PHP和其它的編程語言類似,使用變數存儲臨時數值,使用操作符處理變數。PHP的真正價值在於它是一個應用程序伺服器。

當談到應用程序伺服器的時候,我是指一個把幾個不同的技術組合為一個完整的套件的程序。這些技術包括:
* 一個強壯的編程語言。
* 存取資料庫中存儲的數據。
* 支持 Internet協議,尤其是電子郵件和HTTP協議。

注意:應用程序伺服器有許多其它的特性,這里只列出了最基本的特性。

由於提供了這些多種不同技術的前端介面,PHP可以使工作變的很容易。
本章的其它部分講述了有關PHP的許多繁雜資料,以及它在應用軟體開發中起到的作用。

1.1 起源
PHP是由Rasums Lerdorf創建的,它開始是一個簡單的用Perl語言編寫的程序,用來記錄Rasums Lerdorf自己在線簡歷的訪問者。以後它又被用C語言重新寫過,范圍擴大到訪問資料庫。在這期間,有許多人向Rasums Lerdorf要此程序的拷貝,以便自己使用。Rasums Lerdorf為此寫了一些介紹此程序的文檔,並發布PHP v1.0。以後,越來越多的人開始使用PHP,並強烈要求增加一些其他的特性,如循環語句和數組變數等。到這時,其他的一些程序員也開始參與PHP源碼的編寫(主要有Zeev Suraki和Andi Gutmans),很明顯,此時的PHP為了以後的發展,必須重新編寫。因此,PHP v3.0就出現了。
1.2 特性
PHP的特性包括:
* 開放源碼 -- 所有的PHP源碼都可以得到。事實上,所有的源碼都包含在隨書附帶的光碟中。
* 沒有運行費用 -- PHP是免費的。
* 基於伺服器端 -- 由於PHP是在Web伺服器端運行的,PHP程序可以很大、很復雜而不會降低客戶端的運行速度。
* 跨平台 -- 雖然本書是以Linux為重點介紹的,但PHP程序可以運行在UNIX,Linux,或者Windows操作系統下。
* 嵌入HTML -- 因為PHP語言可以嵌入到HTML內部,所以PHP很容易學習。
* 簡單的語言 -- 和Java和C++不同,PHP語言堅持以基本語言為基礎,然而它的功能也強大到足以支持任何類型的Web站點。
* 效率高 -- 和其它的解釋性語言相比,PHP系統消耗較少的系統資源。當PHP作為Apache Web伺服器的一部分時,運行代碼不需要調外部二進製程序,伺服器解釋腳本不需要承擔任何額外負擔。
* 分析XML -- 用戶可以組建一個可以讀取XML信息的PHP版本。
* 資料庫模塊 -- 用戶可以使用PHP存取Oracle、Sybase、MS SQL、Adabase D、MySQL、mSQL、PostgreSQL、dBase、FilePro、Unix dbm、Informix/Illustra等類型的資料庫,以及任何支持ODBC標準的資料庫。
* 文件存取--PHP有許多支持文件存取函數。
* 文本處理--PHP有許多函數處理字元串,其中包括模式匹配的能力。
* 復雜的變數--PHP支持標量、數組、關聯數組等變數,這給用戶提供了以支持其它的高級數據結構的堅實基礎。
* 圖象處理--用戶可以使用PHP動態的創建圖象。
* 更多的其它功能!

1.3 PHP需要花費多少錢?
PHP是免費的。所有的源碼、文檔都可以免費的復制、編譯、列印和分發。用戶的任何一個用PHP編寫的程序都屬於用戶自己,可以按照自己的意願進行處理,而不需要付任何版稅。就PHP本身而言,用戶可以無限制地發布自己編寫的程序。
然而,有著很充分的理由,PHP並不是徹底的「公共領域」代碼。如果PHP源碼是完全的公共領域代碼,很可能就有人對PHP的源碼做很小的修改,然後編譯並出售--換一句話說,從它的創作者中脫離出來。但從另一方面說,如果不公布源碼,很難使想使用它的用戶感到放心。
GNU通用公共許可是一種發布免費軟體的方法,它可以避免其他人佔有你的勞動成果。在符合GNU許可的條件下,源碼可以自由地發布,並且任何一個人都可以使用,但是任何來源於此代碼的程序必須以同樣種類的許可方式發布。換句話說,如果用戶從任何GNU許可下的源碼中得到代碼而編寫自己的程序,用戶必須給任何想得到源碼的人共布自己的源碼。
1.4 PHP語言可以嵌入HTML中
當使用者使用經典程序設計語言(如C或Pascal)編程時,所有的代碼必須編譯成一個可執行的文件,然後該可執行文件在運行時,為遠程的Web瀏覽器而產生可顯示的HTML標記。但另一方面,PHP並不需要編譯(至少不編譯成可執行文件)。使用者可以把自己的代碼混合到HTML中。例如,下面的代碼將顯示「Hello,world!」,PHP代碼在下面以黑體字顯示。

<HTML>
<HEAD><TITLE>Test</TITLE></HEAD>
<BODY>
<?PHP $string = 'world!'; ?>
<H1>Hello,<?php echo $string ?></H1>
</BODY>
</HTML>

PHP應用程序伺服器(本書的主要寫作目的)是緊密集成到Apache Web伺服器中的,可以在一個程序內同時調用它們兩個。當Web瀏覽器請求PHP Web頁面的時候,Web伺服器的PHP部分將被調用進行解釋。Web伺服器在請求的Web頁中尋找<?PHP . . . ?>標記,並按要求執行這些PHP代碼。
由PHP代碼生成的輸出將替代<?PHP . . . ?>標記。例如,當PHP代碼運行後,以前的Web頁面將變成如下所示的內容:

<HTML>
<HEAD><TITLE>Test</TITLE></HEAD>
<BODY>
<H1>Hello,world!</H1>
</BODY>
</HTML>

注意,所有的PHP代碼都消失了,僅僅留下了HTML語句。而由PHP代碼生成的HTML語句在上例中以黑體的形式顯示。

1.5 PHP語言是在Web伺服器端運行
當開發互聯網應用程序時,很重要的一點是要清楚應用程序是在哪一端運行的。PHP總是運行在伺服器端。不要嘲笑對這一點的強調。在以後考慮對應用程序某些特性進行規劃時,有的人可能就會在應用程序在哪裡運行的這個問題上搞錯,不要讓自己也成為這些人中的一個。
由於Java applets,ActiveX,或javascript 都是運行在客戶端的Web瀏覽器中的,因此PHP不能直接和它們進行比較。然而可以很容易的將這些語言與PHP相結合在一起,使用PHP可以很方便地生成所需要的任何HTML代碼,當然也就能激活Java applets和ActiveX控制項,還可以動態生成javascript語句。當對互聯網應用程序開發還很陌生的時候,這也許沒有什麼意義,但是在讀完這本書後,這一切就會變得十分清晰的了。
1.6 PHP無處不在
無處不在是常使用的充滿激情的詞語,到1999年7月,將有60萬左右的Web站點使用PHP,1999年夏天有關Linux和開放代碼運動的大發展很可能使PHP團體有突破性發展。可以在站點上看到它的發展趨勢圖表。
此外,PHP郵件列表每天能收到大約80個電子郵件,每個月能收到大約2500個電子郵件,這說明PHP是一個非常活躍的開發團體。使用PHP的商業公司有以下幾個,Mitsubishi Motors、Volvo、Red Hat Software、E*Trade、First USA Bank、the San Francisco Giants和San Diego Zoo等等。
1.7 PHP和C或Java相似嗎?
PHP程序和C程序有略微相似的地方,這是由於PHP來源於C、Perl和Java。一些對C語言來講比較麻煩的方面(如處理字元串的技術),由於採用了和Perl相近的技術,在PHP中就不再是麻煩了。PHP中也不包括Java中的一些面向對象特性。
PHP能很好地處理某些低級的任務,如果代碼需要運行的特別快,可以很方便的使用C為PHP程序編寫模塊。
1.8 PHP比ColdFusion、Active Server Page或Java Server Page更好嗎?
以流行的商議方式,我總是回答,「可以是,也可以不是」。
回答是,是由於它的費用(免費)以及可以通過郵件列表、IRC而在世界范圍內有廣泛的支持網路。同時PHP還在不斷地發展著,如果想要一個PHP現在沒有的特性時,請等待幾個月,就有人很快為PHP編程而加上此種特性。
回答不是,是由於商業軟體有比PHP更多的特性。例如,Allaire's ColdFusion有一個已證實可靠的搜索引擎組件。微軟的Active Server Page技術提供了與Outlook、電子郵件和工作組程序相結合的能力。Java Server Page讓使用者可以使用互聯網上的大量開放源碼模塊。
1.9 總結
對於遍及互聯網上的PHP,本章僅僅簡要提到了它的一些特性,本章也介紹了當設計互聯網應用程序時,PHP為什麼是最好的編程工具之一的原因。

⑼ php怎麼調用java介面

這跟java無關,WebService哪種語言開發的都可以,php都是一樣調用
調用方法網上很多例子,就不搬運了:http://www.cnblogs.com/xjnotxj/p/6212143.html

閱讀全文

與php怎麼調用java介面相關的資料

熱點內容
android雲盤開發 瀏覽:961
139郵箱的發送伺服器地址 瀏覽:826
長沙銀行用什麼樣的APP 瀏覽:889
無憂推客源碼 瀏覽:461
怎樣用文件夾發微信上去 瀏覽:424
單片機movp1a什麼意思 瀏覽:577
plc編程龍門銑床 瀏覽:373
畢業做程序員好嗎 瀏覽:715
python最好的web框架 瀏覽:231
程序員同學玩騰訊 瀏覽:347
pdf掃描壓縮 瀏覽:164
程序員面試學歷太重要了 瀏覽:420
excel轉pdf不全 瀏覽:513
命令任務管理器 瀏覽:207
phparrayrecursive 瀏覽:712
天狼程序麻將機app怎麼下載 瀏覽:895
多行文字命令里怎麼弄每行三個字 瀏覽:558
方舟mod伺服器是什麼 瀏覽:990
怎麼下載智悲佛網的app 瀏覽:35
android地面站 瀏覽:486