这个组件可以让我们在浏览器客户端使用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组件" οnclick="test()">
</body>
</html>