junctioner

          ajax-json-rpc處理過程

          在web.xml文件中,可以發現
            <servlet-mapping>
              <servlet-name>com.metaparadigm.jsonrpc.JSONRPCServlet</servlet-name>
              <url-pattern>/JSON-RPC</url-pattern>
            </servlet-mapping>
          所有的請求提交到這個Servlet后分發處理并做出響應。

          JSONRPCServlet.java中實現了init()和service(),

          init() 中只是取了些配置參數作了相關設置;

          service() 中實現了請求處理;

          1.從session中創建/獲取JSONRPCBridge對象;

          2.把提交的數據裝入一個JSONObject對象中;

          3.用JSONRPCBridge對象的call方法處理JSONObject對象并返回JSONRPCResult對象。

          這個處理較ajax-buffalo 中的處理單調了不少。

          再來看看JSONRPCBridge.java是如何構建的。

          1.內置6個內部類:CallbackData、ClassData、LocalArgResovleData、MethodCandidate、MethodKey、ObjectInstance;

          2.還有一些輔助處理的方法,比較多(提取為一個或者多個輔助類比較好);

          3.核心的就是call()方法了。運用的是java反射機制,進行方法調用。這個方法寫的也比較長,沒仔細看,只看到有它兩個可取的地方,一個就返回對象的序列化,另一個是對不同異常,給出相應返回的處理比較細致,這樣有利于找到異常在什么地方,估計是原因引起的。

          在客戶端的處理,是把各方法、對象串連在一起,封裝后,便于應用。

          它把請求的數據對象化再以串的形式提交,后端再做一個反向操作,方便了數據處理。這種方式比ajax-buffalo 中把數據組織成一個XML結構的數據包提交、處理效率高。



          posted on 2006-03-16 13:57 junctioner 閱讀(1762) 評論(2)  編輯  收藏 所屬分類: 技術之路

          評論

          # re: ajax-json-rpc處理過程[未登錄] 2007-01-18 17:18 bluesky

          來一個完整的例子就好了  回復  更多評論   

          # re: ajax-json-rpc處理過程 2007-06-27 16:07 永恒

          shi a ,you ge li zi jiu hao le  回復  更多評論   

          <2007年1月>
          31123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          導航

          統計

          常用鏈接

          留言簿(8)

          隨筆分類

          隨筆檔案

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 宁强县| 松江区| 鹿泉市| 屏山县| 安乡县| 海伦市| 肇源县| 临高县| 钟祥市| 剑阁县| 运城市| 沽源县| 金门县| 泸州市| 赫章县| 始兴县| 浦北县| 绥中县| 松滋市| 永修县| 湖州市| 阿巴嘎旗| 云林县| 曲松县| 漯河市| 东港市| 阿图什市| 翁源县| 乌兰察布市| 沧州市| 夏津县| 邯郸县| 乐平市| 安康市| 巴林右旗| 理塘县| 革吉县| 大连市| 滁州市| 嘉义市| 尚义县|