日期:2014-05-16  浏览次数:20364 次

JSON-RPC组件的使用

这个组件可以让我们在浏览器客户端使用js调用方法,实际是调用的服务端的Java类的方法。

1、下载JSON-RPC组件

???? http://json-rpc-for-java.googlecode.com/files/JsonRpcForJava3.2_sample.rar

???? 将jar包添加进项目

???? 我将jsonrpc.js文件放入到项目中的JS文件中了。

?

2、配置web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
	
	 <!--JSONRPC 组件-->
	  <servlet>
	    <servlet-name>com.metaparadigm.jsonrpc.JSONRPCServlet</servlet-name>
	    <servlet-class>com.metaparadigm.jsonrpc.JSONRPCServlet</servlet-class>
	  </servlet>
	  <servlet-mapping>
	    <servlet-name>com.metaparadigm.jsonrpc.JSONRPCServlet</servlet-name>
	    <url-pattern>/JSON-RPC</url-pattern>
	  </servlet-mapping>	

	 
  	 <!--配置欢迎文件-->
	<welcome-file-list>
	  <welcome-file>index.htm</welcome-file>
	</welcome-file-list>
</web-app>

?

3、写我们的服务端的Java类

/** 供JSON-RPC组件远程调用的AjaxBean */
public class AjaxBean{

	public int add(Integer a, Integer b) {
		return a + b;

	}
}
?

4、编写页面代码

<%@ page contentType="text/html; charset=UTF-8"%>

<jsp:useBean id="JSONRPCBridge" scope="session"
	class="com.metaparadigm.jsonrpc.JSONRPCBridge" />
<jsp:useBean id="ajax" class="com.base.AjaxBean">
</jsp:useBean>
<%
	//将javaBean ajax注册到JSONRPCBridge中
	JSONRPCBridge.registerObject("ajax", ajax);
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>
		<title><bean:message key="love.title" /></title>
		
		<script type="text/javascript" src="JS/jsonrpc.js"></script>
		<script type="text/javascript">
	//Create a jsonrpc object for doing RPC.
	function test()
	{
	//创建一个JSONRPC对象
	jsonrpc = new JSONRpcClient("JSON-RPC");
	//直接调用注册的ajax方法
	alert(jsonrpc.ajax.add(3,5));
	
	}
	 
</script>
	</head>
	<body>
	<input type="button" value="测试Ajax组件"  onclick="test()">
	</body>
</html>
?

?