JSONRPC的HelloWorld应用

一、搭建环境

引入jabsorb-1.3.2.jar、jsonrpc.js

二、配置web.xml

	<servlet>
		<servlet-name>jsonrpc</servlet-name>
		<servlet-class>org.jabsorb.JSONRPCServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>jsonrpc</servlet-name>
		<url-pattern>/JSON-RPC</url-pattern>
	</servlet-mapping>

三、编写Action类

public class Hello implements Serializable
	{
	  private final static long serialVersionUID = 2;


	  public String sayHello(String who)
	  {
		return "hello " + who;
	  }
	}

四、编写JSP

1、注入两个bean
<jsp:useBean id="JSONRPCBridge" scope="session"
class="org.jabsorb.JSONRPCBridge"/>
<jsp:useBean id="hello" scope="session"
class="org.jabsorb.test.Hello"/>
2、注册java对象,放入objectMap
JSONRPCBridge.registerObject("hello", hello);
3、表单元素
<input type="text" id="who" size="30" value="Michael"/>
<input type="button" value="Say Hello" onclick="clickHello()"/>

五、JS脚本

	function onLoad()
	{
		//1、new 一个JSONRpcClient对象,调用web.xml注册的JSON-RPC核心Servlet:org.jabsorb.JSONRPCServlet
	  jsonrpc = new JSONRpcClient("JSON-RPC");
	}
		//2、创建结果回调函数
	function resultCallback(result, e)
	{
	  alert("The server replied: " + result);
	}
		//3、事件触发函数
	function clickHello()
	{
	  var whoNode = document.getElementById("who");
	  var result = jsonrpc.hello.sayHello(resultCallback, whoNode.value);
	}

六、核心Servlet:org.jabsorb.JSONRPCServlet解析

service方法:
1、从session的attribute中获取JSONRPCBridge实例json_bridge
2、获取请求字符串:_jabsorb_beenHere,若为空则通过request输入流获取字符串
3、通过json_bridge构造json_res,再用输出流输出
阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭