java远程调用 PHPRPC for Java的例子
PHPRPC 是一个轻型的、安全的、跨网际的、跨语言的、跨平台的、跨环境的、跨域的、支持复杂对象传输的、支持引用参数传递的、支持内容输出重定向的、支持分级错误处理的、支持会话的、面向服务的高性能远程过程调用协议。
PHPRPC for Java需要分别实现客户端和服务器端,现在给个具体的例子
比方服务器端为http://localhost:8080/server/,服务器端为http://localhost:8080/client/
我们需要建两个工程,分别为server和client。然后分别实现客户端和服务器端。
1.服务器端实现:
1)创建一个实现类:
public class MyHello {
public String say(String name) {
System.out.println("hello world!!");
return "Hello "+name;
}
}
2)发布服务:
新建一个jsp,取名字为hello.jsp,这样它的url为:http://localhost:8080/server/hello.jsp
hello.jsp内容为:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page import="org.phprpc.PHPRPC_Server"%>
<%@page import="test.MyHello"%>
<%
MyHello hello=new MyHello();
PHPRPC_Server server=new PHPRPC_Server();
server.add(hello);
server.start(request,response);
%>
这样就发布好了。
2.客户端实现:
1)定义接口,和服务器实现类对应,取名Hello
public interface Hello {
public String say(String name);
}
2)上步完成后,我们就可以远程调用了,创建一个类,名称取为Test.java
public class Test{
public static void main(String[] args) {
PHPRPC_Client client=new PHPRPC_Client ("http://localhost:8080/server/hello.jsp");
Hello hello=(Hello)client.useService(Hello.class);
System.out.println(hello.say(" Java_KAbanban"));
}
当运行Test.java时便能达到想要的结果,输出:Hello Java_KAbanban
是不是很有用啊!!
大家要是有兴趣的话,可以讨论讨论!!