junctioner

          國(guó)產(chǎn)Ajax實(shí)現(xiàn)-buffalo

          早上剛發(fā)現(xiàn)的國(guó)產(chǎn)Ajax實(shí)現(xiàn),現(xiàn)在版本是1.2,其網(wǎng)址是:http://www.amowa.net/buffalo

          當(dāng)下buffalo-1.2.zip 4,770KB ,

          解開(kāi),發(fā)現(xiàn)項(xiàng)目配置文件是eclipse(切喜!eclipse,my love。),

          導(dǎo)入eclipse中,紅色的報(bào)錯(cuò):三個(gè)類(lèi)庫(kù)變量沒(méi)找到,是web服務(wù)要的三個(gè)包servlet-api.jar、jsp-api.jar、jasper-runtime.jar,在tomcat對(duì)應(yīng)目錄可以找到。其實(shí)還有第四個(gè)類(lèi)庫(kù)變量--junit.jar,只不過(guò)eclipse中自帶的有,如果不用eclipse,找到這四個(gè)jar包引入。

          項(xiàng)目是以java文件為主的,有一個(gè)war目錄是演示用的web應(yīng)用代碼目錄,web應(yīng)用項(xiàng)目得自己建,這個(gè)感覺(jué)不爽,雖然它有一個(gè)build.xml文件可以打web應(yīng)用包,但想調(diào)試跟蹤,還是缺一步(我站在研究的角度,如果應(yīng)用的話,加入那幾個(gè)包,看看使用方法就可以了)。

          首先研究了一下ApplicationServlet.java

          1.這個(gè)Servlet初始化時(shí),創(chuàng)建/獲取了一個(gè)服務(wù)倉(cāng)庫(kù)(ServiceRepository);

          2.所有的請(qǐng)求、響應(yīng)都封裝成一個(gè)自定義的請(qǐng)求上下文本(RequestContext);

          3.根據(jù)請(qǐng)求的路徑調(diào)用不同的RequestWorker;(這一點(diǎn)好,又不好)

          4.剩下的就是worker開(kāi)始工作了,初始化、校驗(yàn)、處理。

          重要的也是“處理”,現(xiàn)在看看worker的結(jié)構(gòu)。

          接口類(lèi):interface RequestWorker 定義三個(gè)基本方法。

          抽象類(lèi):abstract class AbstractRequestWorker 實(shí)現(xiàn)初始化和校驗(yàn)這兩個(gè)基本方法,另實(shí)現(xiàn)一些其它方法。

          具體實(shí)現(xiàn)類(lèi):ViewWorker、BuffaloWorker、UploadWorker 當(dāng)然,你也可以寫(xiě)自己的worker

          當(dāng)?shù)捻?xiàng)目源碼中,ViewWorker、UploadWorker的處理方法中都是拋出UnsupportedOperationException,想處理的話,你也可以加。現(xiàn)在重要的講講BuffaloWorker的處理。

          1.通過(guò)封裝的請(qǐng)求上下文件(RequestContext),獲取服務(wù)倉(cāng)庫(kù)(ServiceRepository);

          2.通過(guò)請(qǐng)求的相對(duì)路徑(此方法感覺(jué)欠妥),獲取相應(yīng)的服務(wù);

          3.有了“業(yè)務(wù)處理方法”、“業(yè)務(wù)請(qǐng)求”后,就是調(diào)用“粗麻布調(diào)用(BurlapInvoker)”處理余下的工作了。

          前面寫(xiě)的是一些流程,沒(méi)什么復(fù)雜的東西,這最后的 invoker,是比較核心,也很經(jīng)典的處理。在這里,我也不多寫(xiě)了,再寫(xiě)下去,大家也一路的看下去,沒(méi)什么感覺(jué)。相信看完了 invoker的實(shí)現(xiàn),一定能學(xué)到不少東西。

          下次看看前端是怎么實(shí)現(xiàn)的,今天到此為止,休息一會(huì)!



          posted on 2006-03-16 13:45 junctioner 閱讀(377) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): 技術(shù)之路

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

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(8)

          隨筆分類(lèi)

          隨筆檔案

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 嵊泗县| 武威市| 崇文区| 南投市| 浦县| 庄浪县| 元朗区| 峨山| 灵寿县| 青海省| 喜德县| 秭归县| 抚顺市| 江山市| 寻甸| 共和县| 崇仁县| 乌海市| 林芝县| 绥棱县| 桃源县| 柳林县| 万载县| 九龙城区| 南木林县| 双城市| 巴南区| 邢台县| 德清县| 鹤壁市| 商洛市| 宁强县| 同德县| 大关县| 渭源县| 田林县| 始兴县| 兴国县| 西乌珠穆沁旗| 垫江县| 鄢陵县|