第一次翻译E文, 请指点.
原文: [url]http://oss.metaparadigm.com/jsonrpc-cvs/tutorial.html[/url]
 
        本指南简单地介绍一下如何利用 Ant 生成 JSON-RPC-Java, 然后, 介绍如何在你的 Web 项目中通过 JSON-RPC-Java 和 浏览器端引入的 JSON-RPC 的 javascript  来调用 Java 服务器端应用程序发布的对象方法.
        
需求:
 
        ant 1.6 或 更高的版本(用来生成JSON-RPC-Java) 
        Java Servlet 容器(比如: Apache Tomcat, JBoss)
 
生成包:
 
       在解压下载下来的 JSON-RPC-Java  发布包后, 到解压目录下找到 build.xml, 并且修改 "tomcat" 属性修改成如下:
    tomcat" location="/opt/jakarta-tomcat-5.5.7"/> 
 
       然后, 就在该目录下运行 Ant 来生成 jsonrpc.jar, 如下:
   ../opt/jakarta-tomcat-5.5.7> ant
 
   生成的这个 jsonrpc.jar 包就包含了用来接收客户端的 JSON-RPC 请求的 JSONRPCServlet 和用来解码和分派请求到你的 Java 代码的 JSONRPCBridge bean,
( JSONRPCBridge bean 需要在你的 JSP 或 Servlet 中创建).
 
生成 Demos:
    
       运行如下命令生成  JSON-RPC-Java  的 demo, 生成的包名为 jsonrpc.war:
       ../opt/jakarta-tomcat-5.5.7>  ant test.dist
 
       如果是要直接安装 demo 到 tomcat 应用目录下, 运行如下命令:
       ../opt/jakarta-tomcat-5.5.7>  ant install
 
       打开浏览器出入 [url]http://localhost:8080/jsonrpc/[/url] 开始体验吧!
 
JSONRPCServlet:
 
   这个 Servlet 相当于 JSON-RPC-Java 应用的传送器, 它处理到服务端的 JSON-RPC (也是通过 HTTP 请求)并且将请求分发到我们在 HttpSession 中注册的 JSONRPCBridge 对象实例.
 
配置JSONRPCServlet:
 
   在 web.xml 中增加如下的配置段(标为蓝色的):
  "http://java.sun.com/dtd/web-app_2_3.dtd">
  ...

 
    com.metaparadigm.jsonrpc.JSONRPCServlet
    com.metaparadigm.jsonrpc.JSONRPCServlet
 

 
    com.metaparadigm.jsonrpc.JSONRPCServlet
    /JSON-RPC
 
  ...
 
 
JSONRPCBridge:
 
   这个 bena 持有"输出对象"列表并将请求解码以调用这些对象的方法.
  
   JSONRPCBridge 实例只要在 HttpSession 中注册为 "JSONRPCBridge" 属性, JSONRPCServlet 就可以定位到它同时调用它了.
  
   也可以注册特殊的 JSONRPCBridge 来提高应用的安全性(只允许特定的用户特定的"输出对象"的特定方法), 这样你就可以在用户通过了你的应用的验证后才允许他访问你的"输出对象"的方法.(请参考此  手册 ).
 
在 JSP 中使用的 JSONRPCBridge:
 
   创建实例:
   ...
   JSONRPCBridge
" scope=" session"
                class="com.metaparadigm.jsonrpc.JSONRPCBridge" />
   ...
 
   注册"输出对象"
   ...
   <% JSONRPCBridge. registerObject("myTestObject", aTestObject); %>
   ...
 
   应用 javascript 脚本
   ...
   ");
   out.println("");
   ...
 
范例:
 
  
onLoad = function()
{
    try {
	jsonrpc = new JSONRpcClient("//JSON-RPC");
        // Call a Java method on the server
        var result = jsonrpc.myTestObject.myFunction("hello");
        alert(result);
    } catch(e) {
	alert(e);
    }
}