日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php和java整合开发实战_PHP和Java强强联合 PHP与Java集成开发详解

發布時間:2025/3/20 php 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php和java整合开发实战_PHP和Java强强联合 PHP与Java集成开发详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

很久以前,有人從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目錄下有更多的類及其詳細信息。

一個在PHP腳本中的Java類示例

現在你已經知道了PHP/Java橋的基礎知識了,可以著手開發自己的第一個PHP/Java應用程序了,這里舉的例子比較簡單,它是一個PHP腳本,實現了+,-,*,/四個基本操作的計算器,Java將會是這個應用程序的核心引擎,因為計算結果是由一個叫做CalculatorBean的Java類提供的,換句話說就是PHP將會把運算對象傳遞給Java函數,然后接收計算結果,并將結果顯示給用戶。

CalculatorBean類為運算符定義了四個函數,為返回結果定義了一個函數,完整的代碼如下

package calculator;

public class CalculatorBean implements

java.io.Serializable {

private float result;

public CalculatorBean(){ this.result = 0.0f; }

public float addAB(float a, float b)

{ this.result = a+b; return result; }

public float subAB(float a, float b)

{this.result = a-b; return result; }

public float mplAB(float a, float b)

{ this.result = a*b; return result;}

public float divAB(float a, float b)

{ this.result = a/b;

return result;public float getResult(){

return this.result;

}

}

當你編譯這個Java源代碼時,結果會產生一個叫做calculator.jar的.jar文件,將這個文件拷貝到appName/WEB-INF/lib目錄。

接下來就可以編寫PHP腳本來調用前面的Java類了,使用前面描述的函數,你可以編寫一個calculator.php文件,參考

將calculator.php放如appName目錄,如果你在Tomcat服務器下測試

(localhost:8080),在瀏覽器的地址欄輸入:

http://localhost:8080/appName/calculator.php,回車,你應該會看到如圖1所示的頁面:

JSP頁面中的PHP腳本示例

假如你想使用PHP的隨機函數在0和最大值之間獲得一個隨機數,你可以象下面這樣使用ScriptEngine.

<%

javax.script.ScriptEngine e =

php.java.script.EngineFactory.getInvocablePhpScriptEngine

(this, application, request, response);

e.getContext().setWriter(out);

e.eval ("<?php function randomNumber($maxim)

{ return rand(0,java_values($maxim)); }; ?>");

javax.script.Invocable i = (javax.script.Invocable) e;

Object result = null;

result = i.invokeFunction("randomNumber",

new Object[]{new Integer(100)});

e.eval ((java.io.Reader)null);

// flush the output generated by invokeXXX

out.println("Random number printed from the servlet: " + result);

%>

在瀏覽器地址欄中輸入:http://localhost:8080/appName/random.jsp,回車,你可能會看到如圖所示的那樣一個結果:

Java桌面應用程序中的PHP腳本

這個任務使用javax.script.ScriptEngineManager 和 javax.script.ScriptEngine類很容易就實現了,http://javaboutique.internet.com/tutorials/thebridge/listing3.html顯示了一個和前面功能一樣的J2SE/PHP應用程序,你可以在命令提示符下測試這個應用程序:

?gt;java –classpath {place here the application classpath} Javaphp

使用jrunscript工具運行PHP腳本

Java自帶了一個叫做jrunscript的工具,使用它可以從Java中向PHP腳本賦值,如:

jrunscript -l php {phpFile}.php

如下面的Hello.php腳本:

<?php

echo 'Hello';

?>

可以像下面這樣運行jrunscript:

..> jrunscript -l php Hello.php

更好地工作

本文僅對PHP/Java橋做了一個簡單的介紹,希望對你有所幫助,PHP/Java橋在PHP和Java這兩門高級編程語言之間搭起了一座互通的橋梁,如果你認為這個技術對你的項目有幫助,那就不要猶豫了,動手開干吧!

引用地址:http://www.chinaz.com/program/2008/1113/44836.shtml

總結

以上是生活随笔為你收集整理的php和java整合开发实战_PHP和Java强强联合 PHP与Java集成开发详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 人妻丰满熟妇av无码区hd | 精品久久福利 | 欧美激情视频二区 | 国产精品丝袜黑色高跟鞋的设计特点 | 粉嫩av四季av绯色av | av毛片大全 | 黑人又大又粗又长 | 一区二区三区国产在线 | 成人免费一级 | 青青成人在线 | 青青草在线观看视频 | 人人爽在线 | 偷拍精品一区二区三区 | 精品亚洲一区二区三区四区五区高 | 美女露胸软件 | 91丝袜一区二区三区 | 男女瑟瑟网站 | 国产二三区 | 国产91在线免费 | 国产视频污 | 国产中文自拍 | 亚洲欧美另类日本 | 极品在线播放 | 淫羞阁av导航 | 极品国产在线 | 天堂久久av| 婷婷久久五月 | 一级片av | 精品一区二区三区免费看 | 精品国产理论 | 手机在线毛片 | 最新三级网站 | 亚洲欧洲日韩 | 午夜精品久久久久久久99老熟妇 | 丰满少妇理论片 | 激情偷乱人成视频在线观看 | 久久在线观看 | 成年人福利网站 | 毛片哪里看 | 色窝网 | 小优视频污 | 国产女人在线 | 亚洲日本在线播放 | 国产香蕉视频在线 | 91视频在线免费 | 男女无套免费视频网站动漫 | 日本捏奶吃奶的视频 | 亚洲人成在线播放 | 亚洲免费av一区二区 | 无码人妻精品一区二区三区99日韩 | 婷婷av在线| 又黄又爽的视频在线观看 | 国产精品久久久久久久一区探花 | 国产无毛av | 国产五月婷婷 | 九九精品久久 | 农村老熟妇乱子伦视频 | 久久9热| 久久久久久国产精品日本 | 国产精品23p | 成人高清 | 69精品丰满人妻无码视频a片 | 成人国产精品一区二区 | 操极品 | 老女人性视频 | 涩涩小网站 | 吻胸摸激情床激烈视频 | 美丽的小蜜桃2:美丽人生 | 性囗交免费视频观看 | 中文字幕精品三级久久久 | 久久er99热精品一区二区介绍 | 男男黄网站| 欧美一区二区视频免费观看 | 新狠狠干| 伊人黄网 | 中国免费看的片 | 国产又粗又猛又爽又黄的网站 | 97理伦| 男女草逼视频 | 国产精品网址 | 日韩中文av在线 | 四虎影院新网址 | 中文字幕日韩无 | 亚洲视频在线观看一区 | 日韩激情小视频 | ass亚洲尤物裸体pics | 黄色一级网站 | 国产精品suv一区二区88 | 欧美手机看片 | 国产伦精品一区二区三区在线观看 | 草草草在线 | 欧美日韩精品一区二区三区四区 | 成人免费毛片足控 | 日韩中文字幕在线观看视频 | 欧美一区二区激情 | 嫩草影院懂你的 | 伊人色图 | 中文字幕三级视频 | 九九热国产 |