(1)进入这个网站http://sourceforge.net/projects/php-java-bridge/files,选择Binary package,然后选择最新的版本Php-java-bridge_6.2.1,下载JavaBridgeTemplate621.war,下载下来是ZIP文件,改名war。

(2)下载好以后就要用到tomcat了,首先把JavaBridgeTemplate621.war放到tomcat下webapps,启动tomcat,tomcat就会解析该文件,然后产生一个同名文件夹,tomcat的在这里的主要作用就是这个(用完关掉)

(3)然后把该文件夹复制到Apache中使用,我是放到webroot\inc\目录下面。

(4)接下来就是把自己写好的jar包放到Java虚拟机下面,也就是jre安装下面,比如我的是C:\Program Files\Java\jre6\lib\ext下面,

(5)避免运行时路径问题,把javabridge.jre也复制一份到ext目录下。(在高版本已经不能使用java_require了,把自己写的jar包放虚拟机下就不需要引入包了),

(6)接着就是双击运行JavaBridge.jar(这文件可以单独下载,也可以在刚才的JavaBridgeTemplate621\WEB-INF\lib目录下找到这文件),选择8080端口,

注意运行顺序,是先放写好的jar包,然后运行JavaBridge.jar,否则会提示找不到class文件,如果要有新的jar包写好后放到java虚拟机目录,先把虚拟机停掉(我直接任务管理器结束java.exe),然后启动JavaBridge.jar

停止方法:netstat -aon ,查找使用8080端口的pid,在任务管理器中(详细资料)看下相应ID的进程,停止运行,再重新启动。

调用例子:JavaBridge实现php对java的调用的例子http://www.111cn.net/jsp/Java/60384.htm

写自己的java类

package com.phpjava;
             
            public class Test {
                private String name = "";
               
                //setter and getter
                public void setName(String name)
                 {
                        this.name = name;
                 }
               
                 public String getName()
                 {
                         return this.name;
                 }
               
                //加法
    public float add(float num1, float num2)
                 {
                         return num1 + num2;
                 }
            }

打成jar。放到配置好jdk的目录下 /usr/lib/jvm/jdk1.7.0_51/jre/lib/ext

<?php
                   
                    require_once("Java.inc");           //必须包含的配置文件
        java_require("Test.jar");                //引用包含的jar包
       
                    $test = new Java("com.phpjava.Test");                //产生实例
        $test->setName("哈哈,PHP调用JAVA的方法!");        //后面的调用就跟在php中调用类方法一样
       
                    echo "调用类Test的getName方法,返回值为:".$test->getName()."<br>";
                    echo "调用Test的add方法,返回值为:".$test->add(11.2, 15.7);
            ?>

参考资料:PHP-Java-Bridge使用笔记 http://www.jb51.net/article/55451.htm

javabrideg的使用实践的更多相关文章

  1. webp图片实践之路

    最近,我们在项目中实践了webp图片,并且抽离出了工具模块,整合到了项目的基础模板中.传闻IOS10也将要支持webp,那么使用webp带来的性能提升将更加明显.估计在不久的将来,webp会成为标配. ...

  2. Hangfire项目实践分享

    Hangfire项目实践分享 目录 Hangfire项目实践分享 目录 什么是Hangfire Hangfire基础 基于队列的任务处理(Fire-and-forget jobs) 延迟任务执行(De ...

  3. TDD在Unity3D游戏项目开发中的实践

    0x00 前言 关于TDD测试驱动开发的文章已经有很多了,但是在游戏开发尤其是使用Unity3D开发游戏时,却听不到特别多关于TDD的声音.那么本文就来简单聊一聊TDD如何在U3D项目中使用以及如何使 ...

  4. Logstash实践: 分布式系统的日志监控

    文/赵杰 2015.11.04 1. 前言 服务端日志你有多重视? 我们没有日志 有日志,但基本不去控制需要输出的内容 经常微调日志,只输出我们想看和有用的 经常监控日志,一方面帮助日志微调,一方面及 ...

  5. 【大型网站技术实践】初级篇:借助Nginx搭建反向代理服务器

    一.反向代理:Web服务器的“经纪人” 1.1 反向代理初印象 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从 ...

  6. Windows平台分布式架构实践 - 负载均衡

    概述 最近.NET的世界开始闹腾了,微软官方终于加入到了对.NET跨平台的支持,并且在不久的将来,我们在VS里面写的代码可能就可以通过Mono直接在Linux和Mac上运行.那么大家(开发者和企业)为 ...

  7. Mysql事务探索及其在Django中的实践(二)

    继上一篇<Mysql事务探索及其在Django中的实践(一)>交代完问题的背景和Mysql事务基础后,这一篇主要想介绍一下事务在Django中的使用以及实际应用给我们带来的效率提升. 首先 ...

  8. Mysql事务探索及其在Django中的实践(一)

    前言 很早就有想开始写博客的想法,一方面是对自己近期所学知识的一些总结.沉淀,方便以后对过去的知识进行梳理.追溯,一方面也希望能通过博客来认识更多相同技术圈的朋友.所幸近期通过了博客园的申请,那么今天 ...

  9. netty5 HTTP协议栈浅析与实践

      一.说在前面的话 前段时间,工作上需要做一个针对视频质量的统计分析系统,各端(PC端.移动端和 WEB端)将视频质量数据放在一个 HTTP 请求中上报到服务器,服务器对数据进行解析.分拣后从不同的 ...

随机推荐

  1. 【bzoj3170】[Tjoi2013]松鼠聚会(数学题)

    题目传送门:https://www.lydsy.com/JudgeOnline/problem.php?id=3170 这道题要在n个点中求一个点使其他点到该点的切比雪夫距离最小. 有个结论:$ (x ...

  2. MVC viewbag & viewdata

    弱类型:ViewData[""] 动态型:ViewBag dynamic ViewData 是字典型的(Dictionary),ViewBag 不再是字典的键值对结构,而是dyna ...

  3. 嵌套的SQL另外一种写法

    SELECT a.TradeOrderID 二段交易号 , c.TradeOrderID 一段订单号 , a.BaggingDate AS 出库时间 , a.TransportOrderCode AS ...

  4. 内存中加载DLL DELPHI版

    //从内存中加载DLL DELPHI版 unit MemLibrary; interface uses Windows; function memLoadLibrary(pLib: Pointer): ...

  5. scala学习手记15 - 独立对象和伴生对象

    上一节中的单例对象MarkerFactory 就是一个独立对象的例子.尽管它管理着Marker类,但是它并没有关联到任何类上. scala也可以创建关联到类上的对象.这样的对象同类共享同一个名字,这样 ...

  6. Java反射深入浅出

    在JVM中对一个类实例的创建,有两种方式,一种是编译时,一种是运行时.两种方式在开发过程中都是十分重要的.在Java中无时无刻无处不在的Java对象,实例化的过程也就变得尤为引人瞩目.我们经常用new ...

  7. hdu 5981 Guess the number

    Guess the number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 160000/160000 K (Java/Other ...

  8. zzuli 2172 队列优化dp

    2172: GJJ的日常之购物 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 9  Solved: 8 SubmitStatusWeb Board De ...

  9. Java Maven项目使用CXF插件生成WebService代理

    CXF生成代理类插件名称:cxf-codegen-plugin 实现功能: 指定代理类所在的包 生成soapheader 操作: eclipse中run as -> maven build -& ...

  10. Flask 分页的简单用法 / flask_sqlalchemy /无刷新翻转页面(原创)

    flask_sqlalchemy对象提供分页方法 1. 后台views代码: from models import <table_name> #导入model的对象 @app.route( ...