Chinese To English     英文 轉(zhuǎn) 中文             
                   
          隨筆-27  評(píng)論-53  文章-0  trackbacks-0
          一、JSON-RPC-Java簡(jiǎn)介
                  JSON-RPC-Java是一個(gè)用Java來(lái)實(shí)現(xiàn)動(dòng)態(tài)JSON-RPC的框架. 利用它內(nèi)置的一個(gè)輕級(jí)量JSON-RPC JavaScripIt客戶端,可以讓你透明地在JavaScript中調(diào)用Java代碼。JSON-RPC-Java可運(yùn)行在Servlet容器中如Tomcat也可以運(yùn)行在JBoss與其它J2EE應(yīng)用服務(wù)器中因此可以在一個(gè)基于JavaScript與DHTML的Web應(yīng)用程序中利用它來(lái)直接調(diào)用普通Java方法與EJB方法。我們可以很方便的使用JSON-RPC-Java來(lái)開發(fā)我的們Ajax應(yīng)用。
          二、JSON-RPC-Java實(shí)踐
          1、從http://oss.metaparadigm.com/jsonrpc/download.html下載最新穩(wěn)定版的JSON-RPC-Java框架并解壓。新建一個(gè)JavaWeb工程,將jsonrpc-1.0.jar放到/webroot/WEB-INF/lib目錄下,將jsonrpc.js放在/webroot下的任意目錄下,保證在jsp頁(yè)面可以引用即可。
           2、修改/webroot/WEB-INF/web.xml文件,添加以下代碼:
           1<servlet>
           2        <servlet-name>JSONRPCServlet</servlet-name>
           3        <servlet-class>
           4            com.metaparadigm.jsonrpc.JSONRPCServlet
           5        </servlet-class>
           6    </servlet>
           7    <servlet-mapping>
           8        <servlet-name>JSONRPCServlet</servlet-name>
           9        <url-pattern>/JSON-RPC</url-pattern>
          10    </servlet-mapping>
          當(dāng)然這里代碼不一定要和上面一模一樣,有一點(diǎn)基礎(chǔ)即可看出這里只是添加了一個(gè)Servlet配置而,只要符合Servlet的配置規(guī)則即可。
          3、編Java文件。
                  Example.java 此文件提供各種業(yè)務(wù)操作,此方件編寫沒有什么特別的要求。但為了在JSP頁(yè)面用標(biāo)簽,我們最好提供一個(gè)無(wú)參的構(gòu)造方法。
          Example.java


                  User.java 此文件用于自定義數(shù)據(jù)類型傳輸數(shù)。要求是一個(gè)javabean,即要為每一個(gè)屬性提供set和get方法,還有一個(gè)無(wú)參的構(gòu)方法即可。

          User.java

          4、編寫javascript文件。
                  Example.js 用于此處理客戶端操作。
          Example.js

          此文件中的jsonrpc.hello.say*()方法即是在Example.java中定義的。
          4、編寫jsp頁(yè)面。
                  json.jsp 這個(gè)文件做什么不用說(shuō)了吧,當(dāng)然給用戶一個(gè)操作的介面了。
          json.jsp

          源碼下載:JsonRpcExample

          杰森 
          郵箱:json.shen(at)gmail.com
          網(wǎng)站:www.shenjia.org
          posted on 2008-10-05 17:04 杰森 閱讀(5453) 評(píng)論(10)  編輯  收藏 所屬分類: JavaEE

          評(píng)論:
          # re: JSON-RPC-Java 學(xué)習(xí)筆記(三) -JSON-RPC-Java框架實(shí)踐 2008-11-06 15:47 | peterchen
          部署完后報(bào)錯(cuò)  回復(fù)  更多評(píng)論
            
          # re: JSON-RPC-Java 學(xué)習(xí)筆記(三) -JSON-RPC-Java框架實(shí)踐 2008-11-07 11:17 | Huaxu's
          @peterchen

          報(bào)什么錯(cuò)?貼一下錯(cuò)誤。  回復(fù)  更多評(píng)論
            
          # re: JSON-RPC-Java 學(xué)習(xí)筆記(三) -JSON-RPC-Java框架實(shí)踐 2008-11-09 13:00 | peterchen
          行:374
          例外被拋出且未被接住  回復(fù)  更多評(píng)論
            
          # re: JSON-RPC-Java 學(xué)習(xí)筆記(三) -JSON-RPC-Java框架實(shí)踐 2008-11-12 10:35 | Huaxu's
          @peterchen
          下載了源碼在本機(jī)上通過(guò)。
          想看一下你詳細(xì)一點(diǎn)的錯(cuò)誤......  回復(fù)  更多評(píng)論
            
          # re: JSON-RPC-Java 學(xué)習(xí)筆記(三) -JSON-RPC-Java框架實(shí)踐[未登錄] 2008-12-26 17:49 | ken
          部署OK, 很好,謝謝  回復(fù)  更多評(píng)論
            
          # re: JSON-RPC-Java 學(xué)習(xí)筆記(三) -JSON-RPC-Java框架實(shí)踐 2009-03-03 15:38 | tliu
          多謝,很好的例子。  回復(fù)  更多評(píng)論
            
          # re: JSON-RPC-Java 學(xué)習(xí)筆記(三) -JSON-RPC-Java框架實(shí)踐 2009-05-24 10:37 | pangzw
          type Exception report

          message

          description The server encountered an internal error () that prevented it from fulfilling this request.

          exception

          org.apache.jasper.JasperException: /WebRoot/json.jsp(6,0) The value for the useBean class attribute com.metaparadigm.jsonrpc.JSONRPCBridge is invalid.
          org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:39)
          org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:405)
          org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:146)
          org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1223)
          org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1116)
          org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
          org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2213)
          org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2219)
          org.apache.jasper.compiler.Node$Root.accept(Node.java:456)
          org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
          org.apache.jasper.compiler.Generator.generate(Generator.java:3270)
          org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:189)
          org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
          org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)
          org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)
          org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:556)
          org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:293)
          org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
          org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
          javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


          note The full stack trace of the root cause is available in the Apache Tomcat/5.5.9 logs.

            回復(fù)  更多評(píng)論
            
          # re: JSON-RPC-Java 學(xué)習(xí)筆記(三) -JSON-RPC-Java框架實(shí)踐 2009-05-26 13:05 | jak
          @pangzw

          json.jsp 第6行執(zhí)行出錯(cuò)栓查一下.

          貌似是 "<jsp:useBean id="example" scope="session"
          class="net.vicp.jiasoft.Example" />"
          這一句.
            回復(fù)  更多評(píng)論
            
          # re: JSON-RPC-Java 學(xué)習(xí)筆記(三) -JSON-RPC-Java框架實(shí)踐 2009-12-13 05:15 | xz
          thank you  回復(fù)  更多評(píng)論
            
          # re: JSON-RPC-Java 學(xué)習(xí)筆記(三) -JSON-RPC-Java框架實(shí)踐 2014-01-27 13:52 | 小俠
          @pangzw
          看到這么多年前的,,呵呵,,出錯(cuò)原因?yàn)槭悄愕腸lass文件沒有找到,檢查一下你的classes是否在web-inf目錄下次。  回復(fù)  更多評(píng)論
            
          嗨117
          主站蜘蛛池模板: 成安县| 肥城市| 抚顺市| 泾阳县| 宁都县| 溆浦县| 遵化市| 绵阳市| 广东省| 莱州市| 濮阳县| 武义县| 辉南县| 呈贡县| 东至县| 沧州市| 西乌珠穆沁旗| 深水埗区| 新乡市| 宜川县| 松原市| 新郑市| 邵阳县| 临沧市| 通河县| 新干县| 瑞昌市| 丰城市| 南澳县| 三台县| 南岸区| 嵩明县| 开阳县| 冷水江市| 海口市| 防城港市| 瑞金市| 乌海市| 宜君县| 内乡县| 滦南县|