文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>初试JavaBridge

初试JavaBridge

时间:2006-05-22  来源:一地风飞


一、安装
1、安装j2re,1.4.2以上版本
2、下载并解压php-java-bridge-3.0.8_j2ee
3、复制java-x86-windows.dll和JavaBridge.jar到extension_dir目录,
4、修改php.ini加载java-x86-windows.dll
extension = java-x86-windows.dll
5、配置php.ini的java段
    [java]
    java.java        = c:/jdk1.5/jre/bin/java
    java.java_home   = c:/jdk1.5  #jdk主目录
    java.log_level   = 2
    java.log_file    = c:/jdk1.5/log.txt
    java.classpath   = c:/php/ext/JavaBridge.jar
#如果使用servlet,还有host等配置,
二、一些关键方法
new Java("CLASSNAME"): 引用并生成一个类实例,返回该实例
例:
$v = new Java("java.util.Vector");
$v->add($buf=new Java("java.lang.StringBuffer"));
$buf->append("100");
echo (int)($v->elementAt(0)->toString()) + 2;

new JavaClass("CLASSNAME"): 引用一个类,但不创建实例.
$Object = new JavaClass("java.lang.Object");
$obj = $Object->newInstance();
$Thread = new JavaClass("java.lang.Thread");
$Thread->sleep(10);

java_require("JAR1;JAR2"): 包含jar包,建议这些包放在ext/lib下
例:
java_require("kawa.jar"); //会在extendsion_dir下查找
java_require("
http://localhost/kawa.jar
");

java_values(JAVA_OBJECT): 获得java对象的值
$str = new java("java.lang.String", "hello");
echo $str; //out=> [o(String):"hello"]
echo (java_values($str));//out=> hello
//也可以使用强制转换,如:echo (String) $str 或 echo "$str";
JavaException: java异常
try {
  new java("java.lang.String", null);
} catch(JavaException $ex) {
   $trace = new java("java.io.ByteArrayOutputStream");
   $ex->printStackTrace(new java("java.io.PrintStream", $trace));
   print "java stack trace: $trace\n";
}
foreach(COLLECTION): 对 java.util.Collection 或 java.util.Map循环
例:
$conversion = new java("java.util.Properties");
$conversion->put("name", "tim wong");
$conversion->put("birthday", "19771020");
foreach ($conversion as $key=>$value)
   echo "$key => $value\n";
也可以使用下标直接访问
$Array = new JavaClass("java.lang.reflect.Array");
$String = new JavaClass("java.lang.String");
$entries = $Array->newInstance($String, 3);
$entries[0] ="Jakob der Lügner, Jurek Becker 1937--1997";
$entries[1] ="Mutmassungen über Jakob, Uwe Johnson, 1934--1984";
$entries[2] ="Die Blechtrommel, Günter Grass, 1927--";
for ($i = 0; $i getLength($entries); $i++) {
   echo "$i: " . $entries[$i] ."\n";
}
默认情况下,javabridge返回的字串编码是utf8,可以在php程序中使用
java_set_file_encoding("gb2312"); 来改变编码


相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载