程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP和Java強強聯合 PHP與Java集成開發詳解(1)

PHP和Java強強聯合 PHP與Java集成開發詳解(1)

編輯:關於PHP編程

【php100獨家特稿】很久以前,有人從www上看到看到天空上一個很亮的亮點,它就是Java語言,與此同時,在另一個地方一位夢想家也看到了一個亮點,它就是PHP。

時間一天天過去,這兩個亮點也變得越來越亮,很快,它們受到了編程者的喜歡,於是有人有疑問了:要是它們兩者相遇,會發生什麼事情?有沒有可能將它們的強項結合在一起呢?

嘗試在PHP和Java之間搭建一座橋梁,利用這座橋梁在這兩個實體之間建立起一個溝通渠道,在這座橋梁的幫助下,你可以在Java中開發類,然後在PHP中調用它們的方法,同樣,在你的Java桌面或Web應用程序中也可以使用PHP腳本。

在這篇文章中,你將會學到如何:

◆安裝和配置PHP/Java橋

◆在PHP腳本中使用Java類

◆在Java類中使用PHP腳本

◆在JSP頁面中使用PHP腳本

那我們開始吧!

安裝和配置PHP/Java橋

最新的PHP/Java橋zip包可在http://sourceforge.net/projects/php-java-bridge/下載到,安裝過程依賴於選擇哪個Java平台通過這座橋與PHP腳本交互。

◆對於J2SE,安裝非常簡單:

◆安裝J2SE 1.6或更高版本

◆安裝PHP 5.1.4或更高版本

◆解壓php-java-bridge_5.2.2_j2ee.zip包

從命令提示符進入剛剛解壓後的目錄,輸入:

?>java ?classpath JavaBridge.war TestInstallation

在這個文件夾下,你應該看到一個ext目錄,它下面包括四個.jar文件,拷貝其中的JavaBridge.jar 和php-script.jar到你的J2SE安裝目錄下的ext文件夾(通常是{JAVA_HOME}/jre/lib/ext)。

對於J2EE,要執行下列安裝步驟:

將JavaBridge.war文件拷貝到你的J2EE服務器或servlet引擎(Tomcat,Resin等)下的auto_deploy文件夾。

根據你的應用程序重命名該文件,然後重啟J2EE服務器,等待自動部署進程創建與該.war文件相關的目錄,在這個例子中,這個應用程序叫做appName.war。

從浏覽器測試新的應用程序,輸入:http://localhost:8080/appName,然後點擊test.php。

如果你的J2EE服務器運行在不同的主機和端口好,參數要做相應的修改。

注意:如果你想在Apache或IIS上運行J2EE/PHP應用程序,將包括appName的目錄拷貝到Apache/IIS的文檔根目錄下。

在PHP腳本中使用Java類

首先,你必須要知道PHP/Java橋為在PHP腳本中集成Java類創建了哪些特殊的函數(PHP類),這些函數包括:

◆java:它允許你訪問給定名稱的Java類型,如:

◆java("java.lang.System")->getProperties();

◆java_autoload:它允許你在當前的PHP腳本中載入一套Java庫,如:

◆java_autoload("my_1.jar;my_2.jar");

◆java_cast:它允許你將一個Java對象轉換成一個PHP值,如:

$mystr=new java("java.lang.String","9");$phpnr=java_cast($mystr,"integer");echo $ phpnr;

◆java_is_null:你可以使用它檢查值是否為空,如:

◆java_is_null(java("java.lang.System")->;getProperty("my_prop"))

◆java_session:你可以使用它返回一個會話句柄,如:

$session = java_session();

◆java_values:你可以使用它評估對象和提取其內容(僅當這個操作是可能的時候),如:

$result = java_values($calcinstance->addAB($term_1,$term_2));

為了使用這些函數,你的PHP應用程序必須包含對應的PHP類,最重要的類是Java.inc,在目錄appName/java下有完整的類列表,通過Java.inc,你可以獲得Java類的實例,如:

$calcinstance=new Java("calculator.CalculatorBean");

提醒:在PHP/Java橋的安裝目錄/documentation/API下有更多的函數和它們的詳細信息。在PHP腳本中使用Java類

在Java類中使用PHP腳本

為了在Java應用程序中調用PHP方法,你必須對Java API非常熟悉,這個API最重要的類是:

javax.script.ScriptEngineManager:這個類擴展了java.lang.Object類,並且為ScriptEngine類提供了實例化機制。

javax.script.ScriptEngine:這是一個Java接口,包括了每個Java ScriptEngine中期望的完整功能的函數,它是通過如AbstractScriptEngine, InteractivePhpScriptEngine, InvocablePhpScriptEngine, InvocablePhpServletScriptEngine, PhpScriptEngine,和 PhpServletScriptEngine這些類實現的。

javax.script.Invocable:這個接口提供了一個函數允許java應用程序在腳本編譯器下調用中間層代碼。

提醒:在/documentation/server/documentation/API目錄下有更多的類及其詳細信息。

1

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved