PHPRPC是面向服务的高性能远程过程调用协议。PHPRPC for java 是此协议的一种实现,详细请到官方看PHPRPC的介绍 ,以其它rpc协议的性能对比请:Java、PHPRPC、Hessian、Burlap、XML 序列化的效率对比 。我在这时只是试用下。
下载:PHPRPC 3.0.2 for Java , 解压到(如:f:/phprpc_3.0.2_for_java),然后双击make.bat生成服务与客户端,生成phprpc.jar和phprpc_client.jar两个jar,把phprpc.jar放到web项目的WEB-INF/lib目录下。
先写个模拟业务接口:Hello.java接口与其实现MyHello.java
package com.chenlb.phprpc;
/**
* 业务接口
*
* @author chenlb 2009-2-22 下午08:06:13
*/
public interface Hello {
String say(String name);
}
package com.chenlb.phprpc;
/**
* 服务器的一个模拟任务
*
* @author chenlb 2009-2-22 下午08:05:42
*/
public class MyHello implements Hello {
public String say(String name) {
return "Hello "+name;
}
}
然后发布业务(被远程调用的):rpc.jsp
<%@ page import="com.chenlb.phprpc.*" %>
<%@ page import="org.phprpc.*" %>
<%
Hello hello = new MyHello();
PHPRPC_Server phprpc_server = new PHPRPC_Server();
phprpc_server.add(hello);
phprpc_server.start(request, response);
%>
当然要把Hello.class与Myhello.class放到web项目里,如WEB-INF/classes。
编写java客户端代码,试用:
package com.chenlb.phprpc;
import org.phprpc.PHPRPC_Callback;
import org.phprpc.PHPRPC_Client;
public class PhpRpcDemo {
public static void main(String[] args) {
PHPRPC_Client client = new PHPRPC_Client("http://localhost:8080/phprpc/rpc.jsp");
Hello m = (Hello) client.useService(Hello.class);
System.out.println(m.say("chenlb"));
//也可以以 callback形式调用.
client.invoke("say", new Object[] {"other"}, new PHPRPC_Callback() {
public void handler(String result, Object[] args) {
System.out.println("handler:");
System.out.println(result);
System.out.println("args:"+args[0]);
System.out.println();
}
});
}
}
示例了两种使用方式,输出结果为:
Hello chenlb
handler:
Hello other
args:other
学习PHPRPC主要是看官方文档:http://www.phprpc.org/zh_CN/docs/
上面写的很详细,我第一次用js调用PHPRPC的服务时,没看清官方网说的,把下载下来的PHPRPC for JavaScript下的compressed 文件夹下的 phprpc_client.js 加入即可,而是直接在PHPRPC for JavaScript文件夹下的phprpc_client.js加入项目,导致不能用,所以多看官方文档。
分享到:
相关推荐
json-rpc-for-java,是仅仅不到100行的javascript代码和不到10个java文件实现的超级轻量级的通过 javaScript快速调用java对象并返回任意对象的轻量级框架,并且支持级联调用,也就是说不需要额外 的JavaScript编程,...
phprpc for java 服务器实例
JSON-RPC for Java使用说明 包括示例代码
学习PHPRPC与java交互的例子,是初学者最后的web项目学习实例。
JSON-RPC for Java.src 2.0
JSON-RPC for Java使用说明.doc JSON-RPC for Java使用说明.doc JSON-RPC for Java使用说明.doc JSON-RPC for Java使用说明.doc
json-rpc-for-java,是仅仅不到100行的javascript代码和不到10个java文件实现的超级轻量级的通过 javaScript快速调用java对象并返回任意对象的轻量级框架,并且支持级联调用,也就是说不需要额外 的JavaScript?...
phprpc for .net 源代码都有,可修改
使用Java实现简单的RPC调用,解释了接口是如何执行其它服务函数体的。
如果你想将 PHPRPC 用于 Delphi.NET,请参见 PHPRPC for .NET 章节的相关内容。 PHPRPC for Delphi 的安装 PHPRPC for Delphi 客户端 PHPRPC for Delphi 对容器类型的支持 PHPRPC for Delphi 对自定义类型的支持 ...
JSON-RPC_for_Java使用说明
RPC的Java实现,自己一步一步实现,有助于分布式学习的理解。
JSON-RPC-Java是一个用Java来实现动态JSON-RPC的框架. 利用它内置的一个轻级量JSON-RPC JavaScripIt客户端,可以让你透明地在JavaScript中调用Java代码。JSON-RPC-Java可运行在Servlet容器中如Tomcat也可以运行在...
继《JavaScript高级应用与实践》之后推出的json-rpc-for-java开源代码,是仅仅100行的javascript代码和不到10个java文件实现的超级轻量级的通过 javaScript快速调用java对象并返回任意对象的轻量级框架,并且支持...
phprpc_3.0.2_java,webservice
phprpc 的delphi调用 一般常用的调用方法 htdocs http://127.0.0.1/ 为WEB根目录 PHPRPC演示 php版本调用 http://127.0.0.1/demo-phpclient.php 调用demo-phpserver.php发布的HelloWorld()方法 demo1 ...
rpc远程调用逆向示例代码
Thrift中实现Java与Python的RPC互相调用示例代码;Thrift中实现Java与Python的RPC互相调用示例代码;Thrift中实现Java与Python的RPC互相调用示例代码
RPC-JSON for Java是J2EE的API,它支持客户端RPC,因此您可以轻松地从应用程序中调用Web服务。