java jsonrpc_使用JSON-RPC for java(AJAX)实例

沈单弓
2023-12-01

1、首先配置web.xml加入JSON-RPC的servlet监听:

JSONRPCServlet

jcore.jsonrpc.servlet.JSONRPCServlet

2

JSONRPCServlet

/JRPC

2、将JSON-RPC.jar加入项目中

3、创建需要使用JSON-RPC远程调用的java类

package jcore.jsonrpc.rpcobj;

import java.io.Serializable;

import java.util.ArrayList;

import java.util.Date;

import java.util.HashMap;

import java.util.Iterator;

import java.util.List;

import java.util.Map;

import jcore.jsonrpc.common.JsonRpcObject;

public class MyTestJsonRPC extends JsonRpcObject implements Serializable {

//注:需要继承JsonRpcObject类,且实现序列化接口

private List myList = new ArrayList();

private Map map = new HashMap();

public MyTestJsonRPC()

{

myList.add("good");

//myList.add(new TestDomain());

// map中也可以放入复合对象

map.put("first", "第一条值");

map.put("p2", new Date());

//map.put("domain", myList.get(1));

}

/***

* 返回Map对象

* @return

*/

public Map getMap()

{

return map;

}

/***

* 获取一个普通对象

* @return

*/

public Object getStr()

{

return myList.get(0);

}

/***

* 获取一个复合对象

* @return

*/

public Object getMyObj()

{

return myList.get(1);

}

/***

* 获取List对象

* @return

*/

public List getList()

{

return myList;

}

}

4、将JsonRpcClient.js文件加入项目中(WEB页面需要引入该JS)

5、前台页面使用JSON-RPC远程调用Java对象

在需要远程调用的前台页面代码中增加如下内容:

5.1 jsp中注册需要远程调用的java对象

jcore.jsonrpc.common.JsonRpcRegister.registerObject(request, "myTestJsonRPC", jcore.jsonrpc.rpcobj.MyTestJsonRPC.class);

%>

5.2引入JSON-RPC客户端JS并设置项目的路径变量

var contextPath="";// 关键的地方

注:path变量是jsp页面头定义的变量

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

5.3远程调用

//fnGetRpc("MyTestJsonRPC");

var myrpc = rpc.myTestJsonRPC;

var obj=myrpc.getStr();

alert(obj);

 类似资料: