详解PHP和Java强强联合(3)_PHP教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:关于方便实用的PHP生成静态页面类的介绍
不喜欢Smarty,直接写了一个生成静态的类,方便简单实用,希望大家继续完善。 以下为引用的内容: /**************

一个在PHP脚本中的Java类示例

现在你已经知道了PHP/Java桥的基础知识了,可以着手开发自己的第一个PHP/Java应用程序了,这里举的例子比较简单,它是一个PHP脚本,实现了 ,-,*,/四个基本操作的计算器,Java将会是这个应用程序的核心引擎,因为计算结果是由一个叫做CalculatorBean的Java类提供的,换句话说就是PHP将会把运算对象传递给Java函数,然后接收计算结果,并将结果显示给用户。

CalculatorBean类为运算符定义了四个函数,为返回结果定义了一个函数,完整的代码参考

http://javaboutique.internet.com/tutorials/thebridge/listing1.html。

当你编译这个Java源代码时,结果会产生一个叫做calculator.jar的.jar文件,将这个文件拷贝到appName/WEB-INF/lib目录。

接下来就可以编写PHP脚本来调用前面的Java类了,使用前面描述的函数,你可以编写一个calculator.php文件,参考

http://javaboutique.internet.com/tutorials/thebridge/listing2.html。

将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,回车,你可能会看到如图所示的那样一个结果:

 

分享:php对gb编码动态转utf-8编码的几种方法评测
在《IP地址->地理位置转换的测评》一文中提到用ip2addr函数直接读取IP数据库文件是效率最高的,相比用MySQL数据库存储IP数据,用SQL查询是效率最低的。但是IP数据库文件QQWry.dat是GB2312编

来源:模板无忧//所属分类:PHP教程/更新时间:2009-09-16
相关PHP教程