在PHP中如何调用java bean? 好象可以使用bean的secondbeantester.java applet文件以及相应的html文件来调用它.这就可以了.php可以调用这个html 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 secondbeantester这是什么?做什么的? 不是什么你可以把他做成applet来用html来调用吧. 这个我试过,可实现不了我的要求(用WEB方式实现套打) 写了“PHP4调用JavaBean的摸索”一文,后来想试试用自己写的JavaBean,怎么也不行,请教了不少人,终于弄明白了,在这里我要感谢廖阳,其实我也对他不熟悉,但是,他确实给了我不少帮助。声明一下,我下面的例子都是在Win2000/IIS5/CGI/PHP4dev2/Jdk13下实现的。 下面我对以前的一文进行补充,另外做了几个简单的例子。 补充:下一个好的PHP4版本,我一直很喜欢http://www.mm4.de/下的PHP4版本。下载后,它自己带了一个php.ini,已经支持java了,你在java.class.path中再加上你自己的java class的目录,比如:f:php4class,你以后自己做的java class就以它为“根”(带java的package,就在这里建立子目录) 好了,下面些一个简单的例子显示伟大的“Hello World!” 编写一个简单的java文件(这里我用的是廖阳的例子,为了表示感谢,我没有做任何改动)test1.java文件如下:package tests;public class test1{ public String getMessage(){ return "Hello World"; }} 用javac test1.java生成test1.class文件,将test1.class copy到f:\php4\class下的tests子目录下(这里是java package的需要)编写php文件,getmsg.php4文件如下:<?$b=new Java("tests.test1");$x=$b->getMessage();echo $x;?> 在浏览器中访问getmsg.php4将显示“ Hello World!”再举个例子:test.java文件内容如下:import java.lang.*;public class test{ public int ret_test(int i){ if (i>0) return 31; else if(i==0) return 30; else if (i<0) return 29; else return 100; }}编译后放在f:\php4\class目录下,名称当然为:test.class编写一个PHP4文件testint.php4如下:<?$b=new Java("test","");$x=$b->ret_test(4);echo $x;?>访问将显示31。 后来,我自己做了一个调用SQL数据库的javabean,在PHP4中一切正常,大家可以自己去试,确实不错,从某种程度上,可以说,实现了“隐藏源代码”。 首先声明,写此文时,我对这个也不懂,只是自己从php.net上下了例子,试着做了一下,而且是在 win2000+apache+php4p12配置下. 具体步骤如下: 一、安装好JVM(java virtual machine)(我用的是jdk122) 当然,您不一定要用jdk122,甚至不用jdk,用其它的,比如: JVM=Kaffe 1.0.4 (as delivered with OS), OS=Redhat Linux 6.1 JVM=Kaffe 1.0.5 (built from source), OS=Redhat Linux 6.1 JVM=IBM 1.1.8, OS=Redhat Linux 6.1 JVM=Blackdown 1.2.2 RC4, OS=Redhat Linux 6.1 JVM=Sun JDK 1.1.8, OS=Windows NT 4/win2000 但是,在这里我只讲我的做法,其它的我没有试过,不要问我,这里要特别注意的是, 根据php官方站点的说明,竟然不支持jdk122+linux 二、设置环境变量 在win2000中"我的电脑"->"属性"->"高级"->"环境变量" 设置JAVA_HOME 为:jdk路径,比如我的jdk122装在e:\jsp\jdk122下,那么就设置为e:\jsp\jdk122 三、下载相关文件(如果您没有的话) 下载地址:http://www.php.net/downloads.php 我下载了:php-4.0.1-Win32-java-jdk122.zip文件,解压后有几个例子,并且有:php_java.dll和php_java.jar文件. 四、配置php.ini文件 [java] java.class.path=E:\PHP4\php_java.jar java.home=E:\jsp\jdk122\bin extension=php_java.dll java.library.path=E:\PHP4\ext\ java.library=E:\Program Files\JavaSoft\JRE\1.2\bin\classic\jvm.dll 以上是我的配置,说明一下,我的php4在e:\php4目录下,我的所有扩充的dll文件 放在e:\php4\ext目录下,当然php_java.dll也就应该copy到这个目录了.最后确认你的 win2000下有jvm.dll文件,如果没有,安装一下visual studio就可以了(我用装了个VC++6,所以不用考虑了) 五、测试 运行phpinfo()就可以看到有"java"了,如果没有,说明你没有成功.它的显示如下: java Directive Local Value Master Value java.class.path E:\PHP4\php_java.jar E:\PHP4\php_java.jar java.home E:\jsp\jdk122\bin E:\jsp\jdk122\bin java.library E:\Program Files\JavaSoft\JRE\1.2\bin\classic\jvm.dll jvm.dll java.library.path E:\PHP4\ext\ no value 六、测试例子 我用的是下载的文件中包含的例子:jver.php,如果成功,将有如下结果: Java version=1.2.2 Java vendor=Sun Microsystems Inc. OS=Windows NT 5.0 on x86 星期三, 七月 19, 2000 at 10:32:53 下午 GMT+08:00 七、再次说明 我目前还遇到两个具体的而且又是必须解决的问题: (一)怎么调用自己写的javabean (二)IIS+win2000+php4p12还没有成功 请了解以上问题的前辈指点在下,将感激不尽! file_get_contents获取XML的奇怪问题 用curl抓取网页的时候,为什么我的每次都只能抓取18个左右就自动停止了? mysql排序问题 三级导航 分区问题??? 求助:用正则替换两个以上的空格 mysql_fetch_assoc() expects parameter 1 to be resource,怎么解决? 数组 查询 生成新数组 例子 找php软件工程师工作 请教这个SQL语句怎么写 请问大家一下:我用date()取当前时间,但时间没变,怎么搞! 哪有HTML语法手册下載,要全一點的!!!
下面我对以前的一文进行补充,另外做了几个简单的例子。
补充:下一个好的PHP4版本,我一直很喜欢http://www.mm4.de/下的PHP4版本。下载后,它自己带了一个php.ini,已经支持java了,你在java.class.path中再加上你自己的java class的目录,比如:f:php4class,你以后自己做的java class就以它为“根”(带java的package,就在这里建立子目录)
好了,下面些一个简单的例子显示伟大的“Hello World!”
编写一个简单的java文件(这里我用的是廖阳的例子,为了表示感谢,我没有做任何改动)
test1.java文件如下:
package tests;
public class test1{
public String getMessage(){
return "Hello World";
}
}
用javac test1.java生成test1.class文件,将test1.class copy到f:\php4\class下的tests子目录下(这里是java package的需要)
编写php文件,getmsg.php4文件如下:
<?
$b=new Java("tests.test1");
$x=$b->getMessage();
echo $x;
?>
在浏览器中访问getmsg.php4将显示“ Hello World!”
再举个例子:
test.java文件内容如下:
import java.lang.*;
public class test{
public int ret_test(int i){
if (i>0)
return 31;
else if(i==0)
return 30;
else if (i<0)
return 29;
else
return 100;
}
}编译后放在f:\php4\class目录下,名称当然为:test.class
编写一个PHP4文件testint.php4如下:
<?
$b=new Java("test","");
$x=$b->ret_test(4);
echo $x;
?>
访问将显示31。
后来,我自己做了一个调用SQL数据库的javabean,在PHP4中一切正常,大家可以自己去试,确实不错,从某种程度上,可以说,实现了“隐藏源代码”。
JVM=Kaffe 1.0.4 (as delivered with OS), OS=Redhat Linux 6.1
JVM=Kaffe 1.0.5 (built from source), OS=Redhat Linux 6.1
JVM=IBM 1.1.8, OS=Redhat Linux 6.1
JVM=Blackdown 1.2.2 RC4, OS=Redhat Linux 6.1
JVM=Sun JDK 1.1.8, OS=Windows NT 4/win2000
但是,在这里我只讲我的做法,其它的我没有试过,不要问我,这里要特别注意的是, 根据php官方站点的说明,竟然不支持jdk122+linux
二、设置环境变量 在win2000中"我的电脑"->"属性"->"高级"->"环境变量"
设置JAVA_HOME
为:jdk路径,比如我的jdk122装在e:\jsp\jdk122下,那么就设置为e:\jsp\jdk122 三、下载相关文件(如果您没有的话) 下载地址:http://www.php.net/downloads.php
我下载了:php-4.0.1-Win32-java-jdk122.zip文件,解压后有几个例子,并且有:php_java.dll和php_java.jar文件.
四、配置php.ini文件 [java]
java.class.path=E:\PHP4\php_java.jar
java.home=E:\jsp\jdk122\bin
extension=php_java.dll
java.library.path=E:\PHP4\ext\
java.library=E:\Program Files\JavaSoft\JRE\1.2\bin\classic\jvm.dll
以上是我的配置,说明一下,我的php4在e:\php4目录下,我的所有扩充的dll文件 放在e:\php4\ext目录下,当然php_java.dll也就应该copy到这个目录了.最后确认你的 win2000下有jvm.dll文件,如果没有,安装一下visual studio就可以了(我用装了个VC++6,所以不用考虑了)
五、测试 运行phpinfo()就可以看到有"java"了,如果没有,说明你没有成功.它的显示如下: java
Directive Local Value Master Value
java.class.path
E:\PHP4\php_java.jar E:\PHP4\php_java.jar
java.home
E:\jsp\jdk122\bin E:\jsp\jdk122\bin
java.library
E:\Program Files\JavaSoft\JRE\1.2\bin\classic\jvm.dll jvm.dll
java.library.path
E:\PHP4\ext\ no value
六、测试例子 我用的是下载的文件中包含的例子:jver.php,如果成功,将有如下结果:
Java version=1.2.2
Java vendor=Sun Microsystems Inc.
OS=Windows NT 5.0 on x86
星期三, 七月 19, 2000 at 10:32:53 下午 GMT+08:00
七、再次说明 我目前还遇到两个具体的而且又是必须解决的问题: (一)怎么调用自己写的javabean
(二)IIS+win2000+php4p12还没有成功
请了解以上问题的前辈指点在下,将感激不尽!