junctioner

          ajax-json-rpc處理過程

          在web.xml文件中,可以發(fā)現(xiàn)
            <servlet-mapping>
              <servlet-name>com.metaparadigm.jsonrpc.JSONRPCServlet</servlet-name>
              <url-pattern>/JSON-RPC</url-pattern>
            </servlet-mapping>
          所有的請(qǐng)求提交到這個(gè)Servlet后分發(fā)處理并做出響應(yīng)。

          JSONRPCServlet.java中實(shí)現(xiàn)了init()和service(),

          init() 中只是取了些配置參數(shù)作了相關(guān)設(shè)置;

          service() 中實(shí)現(xiàn)了請(qǐng)求處理;

          1.從session中創(chuàng)建/獲取JSONRPCBridge對(duì)象;

          2.把提交的數(shù)據(jù)裝入一個(gè)JSONObject對(duì)象中;

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

          這個(gè)處理較ajax-buffalo 中的處理單調(diào)了不少。

          再來看看JSONRPCBridge.java是如何構(gòu)建的。

          1.內(nèi)置6個(gè)內(nèi)部類:CallbackData、ClassData、LocalArgResovleData、MethodCandidate、MethodKey、ObjectInstance;

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

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

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

          它把請(qǐng)求的數(shù)據(jù)對(duì)象化再以串的形式提交,后端再做一個(gè)反向操作,方便了數(shù)據(jù)處理。這種方式比ajax-buffalo 中把數(shù)據(jù)組織成一個(gè)XML結(jié)構(gòu)的數(shù)據(jù)包提交、處理效率高。



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

          評(píng)論

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

          來一個(gè)完整的例子就好了  回復(fù)  更多評(píng)論   

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

          shi a ,you ge li zi jiu hao le  回復(fù)  更多評(píng)論   

          <2006年3月>
          2627281234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(8)

          隨筆分類

          隨筆檔案

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 开阳县| 镇康县| 中阳县| 从化市| 宜都市| 运城市| 金塔县| 襄城县| 大庆市| 夏河县| 平阴县| 河池市| 松桃| 肃宁县| 确山县| 北安市| 雷州市| 延川县| 长宁区| 芮城县| 武安市| 乌海市| 当涂县| 鄂托克前旗| 赣榆县| 屏东市| 江孜县| 钟祥市| 澜沧| 云林县| 肇庆市| 鄂尔多斯市| 文安县| 孟州市| 抚顺市| 南城县| 偃师市| 鹤山市| 高州市| 景洪市| 沾益县|