① 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如何訪問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代碼所實現的
JavaAes類,用php實現方法:importjava.security.NoSuchAlgorithmException;importjava.security.SecureRandom;importjavax.crypto.Cipher;importjavax.crypto.KeyGenerator;importjavax.crypto.SecretKey;importjavax.crypto.spec.SecretKeySpec;publicclassAESSecurityUtil{privatestaticfinalStringAES="AES";_NAME="utf-8";(Stringpassword){KeyGeneratorkgen=KeyGenerator.getInstance(AES);SecureRandomrandom=SecureRandom.getInstance("SHA1PRNG");random.setSeed(password.getBytes());kgen.init(128,random);SecretKeysecretKey=kgen.generateKey();byte[]enCodeFormat=secretKey.getEncoded();SecretKeySpeckey=newSecretKeySpec(enCodeFormat,AES);returnkey;}publicstaticStringencode(Stringstr,Stringpassword){byte[]arr=encodeToArr(str,password);returnbyteArrToString(arr);}privatestaticbyte[]encodeToArr(Stringstr,Stringpassword){try{Ciphercipher=Cipher.getInstance(AES);byte[]byteContent=str.getBytes(CHARSET_NAME);cipher.init(Cipher.ENCRYPT_MODE,getKey(password));byte[]result=cipher.doFinal(byteContent);returnresult;}catch(Exceptione){e.printStackTrace();}returnnull;}publicstaticStringdecode(StringhexStr,Stringpassword){byte[]arr=string2ByteArr(hexStr);returndecode(arr,password);}privatestaticStringdecode(byte[]arr,Stringpassword){try{Ciphercipher=Cipher.getInstance(AES);cipher.init(Cipher.DECRYPT_MODE,getKey(password));byte[]result=cipher.doFinal(arr);returnnewString(result,CHARSET_NAME);}catch(Exceptione){e.printStackTrace();}returnnull;}(byte[]arr){StringBuffersb=newStringBuffer();for(inti=0;i
④ php和java能不能結合使用
完全可以結合使用 比如用 json ajax 都可以實現
⑤ php程序與java程序之間做數據交互,怎麼做
可以用php的curl模擬瀏覽器請求是訪問java伺服器程序,
或者用java的一個http類庫同樣發送http請求來訪問PHP伺服器
⑥ 怎麼理解【前台PHP,中間件用Java,底層用C/C++】
前台了就是網站顯示的內容,就是給人看的,中間件就是一些相應的程序或介面,負責傳遞前台的信息後後台服務,可以在多台伺服器分布式處理,使用java可以跨操作系統兼容,底層是處理程序,也是實現相關功能的重要部分。