PHP和Java 集成開發(fā)詳解分析 強(qiáng)強(qiáng)聯(lián)合第3/4頁(yè)
一個(gè)在PHP腳本中的Java類示例
現(xiàn)在你已經(jīng)知道了PHP/Java橋的基礎(chǔ)知識(shí)了,可以著手開發(fā)自己的第一個(gè)PHP/Java應(yīng)用程序了,這里舉的例子比較簡(jiǎn)單,它是一個(gè)PHP腳本,實(shí)現(xiàn)了+,-,*,/四個(gè)基本操作的計(jì)算器,Java將會(huì)是這個(gè)應(yīng)用程序的核心引擎,因?yàn)橛?jì)算結(jié)果是由一個(gè)叫做CalculatorBean的Java類提供的,換句話說就是PHP將會(huì)把運(yùn)算對(duì)象傳遞給Java函數(shù),然后接收計(jì)算結(jié)果,并將結(jié)果顯示給用戶。
CalculatorBean類為運(yùn)算符定義了四個(gè)函數(shù),為返回結(jié)果定義了一個(gè)函數(shù),完整的代碼參考
http://javaboutique.internet.com/tutorials/thebridge/listing1.html。
當(dāng)你編譯這個(gè)Java源代碼時(shí),結(jié)果會(huì)產(chǎn)生一個(gè)叫做calculator.jar的.jar文件,將這個(gè)文件拷貝到appName/WEB-INF/lib目錄。
接下來就可以編寫PHP腳本來調(diào)用前面的Java類了,使用前面描述的函數(shù),你可以編寫一個(gè)calculator.php文件,參考
http://javaboutique.internet.com/tutorials/thebridge/listing2.html。
將calculator.php放如appName目錄,如果你在Tomcat服務(wù)器下測(cè)試
(localhost:8080),在瀏覽器的地址欄輸入:
http://localhost:8080/appName/calculator.php,回車,你應(yīng)該會(huì)看到如圖1所示的頁(yè)面:

JSP頁(yè)面中的PHP腳本示例
假如你想使用PHP的隨機(jī)函數(shù)在0和最大值之間獲得一個(gè)隨機(jī)數(shù),你可以象下面這樣使用ScriptEngine.
| 以下為引用的內(nèi)容:
<% e.eval ("<?php function randomNumber($maxim) { return rand(0,java_values($maxim)); }; ?>"); javax.script.Invocable i = (javax.script.Invocable) e; Object result = null; 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,回車,你可能會(huì)看到如圖所示的那樣一個(gè)結(jié)果:

相關(guān)文章
利用PHP內(nèi)置SERVER開啟web服務(wù)(本地開發(fā)使用)
PHP 5.4.0起, CLI SAPI 提供了一個(gè)內(nèi)置的Web服務(wù)器,這個(gè)內(nèi)置的Web服務(wù)器主要用于本地開發(fā)使用,不可用于線上產(chǎn)品環(huán)境,URI請(qǐng)求會(huì)被發(fā)送到PHP所在的的工作目錄Working Directory進(jìn)行處理,除非你使用了-t參數(shù)來自定義不同的目錄2020-01-01
PHP+Apache環(huán)境中如何隱藏Apache版本
以PHP+Apache服務(wù)器環(huán)境為例,給大家講解如何能夠隱藏Apache的版本號(hào)以及具體做法。2017-11-11
php中HTTP_REFERER函數(shù)用法實(shí)例
這篇文章主要介紹了php中HTTP_REFERER函數(shù)用法,以實(shí)例的形式分別講述了判斷用戶來路與偽造來路地址等應(yīng)用,需要的朋友可以參考下2014-11-11
Referer原理與圖片防盜鏈實(shí)現(xiàn)方法詳解
這篇文章主要介紹了Referer原理與圖片防盜鏈實(shí)現(xiàn)方法,結(jié)合實(shí)例形式詳細(xì)分析了Referer頭信息原理與圖片防盜鏈判定、實(shí)現(xiàn)方法,并附帶一個(gè)Http請(qǐng)求封裝類,需要的朋友可以參考下2019-07-07
PHP 簡(jiǎn)單數(shù)組排序?qū)崿F(xiàn)代碼
PHP知道如何比較兩個(gè)數(shù)字或字符串,但多維數(shù)組的每個(gè)元素都是數(shù)組。PHP不知道如何去比較兩個(gè)數(shù)組,所以需要建立一個(gè)比較它們的方法。2009-08-08
php 計(jì)算兩個(gè)時(shí)間戳相隔的時(shí)間的函數(shù)(小時(shí))
計(jì)算兩個(gè)時(shí)間戳相隔的時(shí)間,以前腳本之家發(fā)布過具體到天數(shù)的,這個(gè)可以具體到小時(shí)數(shù),需要的朋友可以參考下。2009-12-12
PHP編碼規(guī)范-php coding standard
標(biāo)準(zhǔn)化問題在某些方面上讓每個(gè)人頭痛,讓人人都覺得大家處于同樣的境地。這有助于讓這些建議在許多的項(xiàng)目中不斷演進(jìn),許多公司花費(fèi)了許多星期逐子字逐句的進(jìn)行爭(zhēng)論。2007-03-03
解決php的“It is not safe to rely on the system’s timezone setti
這篇文章主要介紹了解決php的“It is not safe to rely on the system’s timezone settings”問題的方法,需要的朋友可以參考下2015-10-10

