PHP和Java 集成开发详解分析 强强联合第3/4页

 更新时间:2008年11月14日 12:28:23   作者:  
很久以前,有人从www上看到看到天空上一个很亮的亮点,它就是Java语言,与此同时,在另一个地方一位梦想家也看到了一个亮点,它就是PHP.

一个在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自动给网址加上链接的方法

    php自动给网址加上链接的方法

    这篇文章主要介绍了php自动给网址加上链接的方法,可实现对本文中的网址加上链接的功能,涉及正则匹配的相关技巧,需要的朋友可以参考下
    2015-06-06
  • 利用PHP内置SERVER开启web服务(本地开发使用)

    利用PHP内置SERVER开启web服务(本地开发使用)

    PHP 5.4.0起, CLI SAPI 提供了一个内置的Web服务器,这个内置的Web服务器主要用于本地开发使用,不可用于线上产品环境,URI请求会被发送到PHP所在的的工作目录Working Directory进行处理,除非你使用了-t参数来自定义不同的目录
    2020-01-01
  • PHP中串行化用法示例

    PHP中串行化用法示例

    这篇文章主要介绍了PHP中串行化用法,结合实例形式分析了php使用serialize与unserialize函数实现串行化与反串行化操作的相关技巧,需要的朋友可以参考下
    2016-11-11
  • PHP+Apache环境中如何隐藏Apache版本

    PHP+Apache环境中如何隐藏Apache版本

    以PHP+Apache服务器环境为例,给大家讲解如何能够隐藏Apache的版本号以及具体做法。
    2017-11-11
  • php中HTTP_REFERER函数用法实例

    php中HTTP_REFERER函数用法实例

    这篇文章主要介绍了php中HTTP_REFERER函数用法,以实例的形式分别讲述了判断用户来路与伪造来路地址等应用,需要的朋友可以参考下
    2014-11-11
  • Referer原理与图片防盗链实现方法详解

    Referer原理与图片防盗链实现方法详解

    这篇文章主要介绍了Referer原理与图片防盗链实现方法,结合实例形式详细分析了Referer头信息原理与图片防盗链判定、实现方法,并附带一个Http请求封装类,需要的朋友可以参考下
    2019-07-07
  • PHP 简单数组排序实现代码

    PHP 简单数组排序实现代码

    PHP知道如何比较两个数字或字符串,但多维数组的每个元素都是数组。PHP不知道如何去比较两个数组,所以需要建立一个比较它们的方法。
    2009-08-08
  • php 计算两个时间戳相隔的时间的函数(小时)

    php 计算两个时间戳相隔的时间的函数(小时)

    计算两个时间戳相隔的时间,以前脚本之家发布过具体到天数的,这个可以具体到小时数,需要的朋友可以参考下。
    2009-12-12
  • PHP编码规范-php coding standard

    PHP编码规范-php coding standard

    标准化问题在某些方面上让每个人头痛,让人人都觉得大家处于同样的境地。这有助于让这些建议在许多的项目中不断演进,许多公司花费了许多星期逐子字逐句的进行争论。
    2007-03-03
  • 解决php的“It is not safe to rely on the system’s timezone settings”问题

    解决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

最新评论