免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3311 | 回复: 8
打印 上一主题 下一主题

PHP5中调用Java类 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-01-17 18:47 |只看该作者 |倒序浏览
平台:Windows xp + apache2.0 + PHP 5.1 + jdk1.5
首先安装好平台,这个不用多说的。之后去
http://sourceforge.net/project/s ... 7793&package_id =170256&release_id=475534下载一个php-java-bridge连接桥。解压php-java-bridge- 3.0.8_j2ee之后,将目录下面的JavaBridge.war更名为JavaBridge.jar,解压JavaBridge.jar,将 JavaBridge\WEB-INF\cgi目录下的java-x86-windows.dll拷贝到php扩展目录(我的是c:\php\ext目录),重命名为php_java.dll,将JavaBridge\WEB-INF\lib\JavaBridge.jar也拷贝到php扩展目录。

配置php.ini文件
在Windows Extensions段添加如下内容。(我的加在;extension=php_mbstring.dll前面)
extension=php_java.dll
[Java]
java.class.path = "C:\php\ext\JavaBridge.jar;e:\www\java"
java.java_home = "C:\jdk1.5.0_09"
java.library.path = "c:\php\ext;e:\www\java"

重启apache服务器

创建test.php<?php
header("content-type:text/html; charset=utf-8");
// get instance of Java class java.lang.System in PHP
$system = new Java('java.lang.System');

// demonstrate property access
print 'Java version='.$system->getProperty('java.version').' <br>';
print 'Java vendor=' .$system->getProperty('java.vendor').' <br>';
print 'OS='.$system->getProperty('os.name').' '.
$system->getProperty('os.version').' on '.
$system->getProperty('os.arch').' <br>';

// java.util.Date example
$formatter = new Java('java.text.SimpleDateFormat', "EEEE, MMMM dd, yyyy 'at' h:mm:ss a zzzz");

print $formatter->format(new Java('java.util.Date'));
?>

结果如下:
Java version=1.5.0_09
Java vendor=Sun Microsystems Inc.
OS=Windows XP 5.1 on x86
[o(String):"星期三, 一月 17, 2007 at 2:18:58 下午 中国标准时间"]

使用自己的java类(test.java)
public class test
{

    public String rsStr;
    public static void main(String[] args)
    {
        System.out.println("Hello World!");
    }
    public void setString( String param ){
        if( param.equals("") ) {
            rsStr = "Hello,how are you!";
        }else{
            rsStr = param;
        }
    }

    public String getString(){
        return rsStr;
    }
}
编译test.java,将test.class复制到java.class.path(我这里是e:\www\java)目录下,创建test.php内容如下:

<?php
java_require( 'e:\www\java' );
$myj = new Java("test");

$myj->setString("");
$str = $myj->getString();
echo  $str."<br>";
$str = $myj->rsStr;
echo  $str."<br>";
?>

运行结果:
Hello,how are you!
Hello,how are you!

使用php调用java的jdbc操作mysql数据库
....http://www.eefocus.com/myspace/blog/show.php?id=779
欢迎大家交流!

论坛徽章:
0
2 [报告]
发表于 2007-01-17 21:32 |只看该作者
PHP 5.1

javabridge 支持  5.2了娃?

论坛徽章:
0
3 [报告]
发表于 2007-01-19 09:45 |只看该作者
呵呵,最近搞的个项目,用php调用java类做全文搜索!用到了javabridge!感觉还不错,挺方便的!

论坛徽章:
0
4 [报告]
发表于 2007-01-19 19:51 |只看该作者
原帖由 wanweiqun 于 2007-1-19 09:45 发表
呵呵,最近搞的个项目,用php调用java类做全文搜索!用到了javabridge!感觉还不错,挺方便的!



我早就不用jb了。。。呵呵。

论坛徽章:
0
5 [报告]
发表于 2007-01-20 12:13 |只看该作者
恩!今天发现了!jb这个东西还是不够好,还是直接用java平台好,只是项目要求,没有办法。我们打算用c写一个分词搜索,扩展php,可能会好些,这个大概下个搜索版本就会出来,到时候还请大家多多指教哦!

论坛徽章:
0
6 [报告]
发表于 2007-01-20 12:21 |只看该作者
原帖由 wanweiqun 于 2007-1-20 12:13 发表
恩!今天发现了!jb这个东西还是不够好,还是直接用java平台好,只是项目要求,没有办法。我们打算用c写一个分词搜索,扩展php,可能会好些,这个大概下个搜索版本就会出来,到时候还请大家多多指教哦!



你们可以用clucene,,,用gsoap  ===》 php

论坛徽章:
0
7 [报告]
发表于 2007-01-22 08:53 |只看该作者
过路的

论坛徽章:
0
8 [报告]
发表于 2007-01-22 09:22 |只看该作者
原来发现PHP4的时候调用 使用加密函数的JAVA类(例如MD5等) 会调用失败

论坛徽章:
0
9 [报告]
发表于 2007-03-18 12:56 |只看该作者
http://www.eefocus.com/search/
测试版上线了,请大家多多指教哦!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP