技术介绍
json-rpc是基于json的跨语言远程调用协议,比xml-rpc、webservice等基于文本的协议传输数据格小;相对hessian、java-rpc等二进制协议便于调试、实现、扩展,是非常优秀的一种远程调用协议。目前主流语言都已有json-rpc的实现框架,java语言中较好的json-rpc实现框架有jsonrpc4j、jpoxy、json-rpc。三者之中jsonrpc4j既可独立使用,又可与spring无缝集合,比较适合于基于spring的项目开发。本文将介绍jsonrpc4j的具体使用。jsonrpc4j为开源项目,源代码和JAR包在网上都可以下载到,为了避免广告嫌疑故略去。
Java服务端配置
web.xml 中添加
JsonRpcServerServlet
com.service.jsonrequest.ServiceJsonRpcServlet
10
JsonRpcServerServlet
/json-Rpc
此处配置的/json-Rpc为客户端请求访问地址。
ServiceJsonRpcServlet的servlet
private JsonRpcServer rpcService = null;
public void init(ServletConfig config) throws ServletException {
super.init(config);
rpcService = new JsonRpcServer(new ReceiveChannel(), ReceiveChannel.class);
}
此处的ReceiveChannel类就是将向客户端展现的类。在service方法中可以对客户端的请求头进行预验证