Posted on 2012-04-15 16:27
zljpp 閱讀(154)
評(píng)論(0) 編輯 收藏
B/S是請(qǐng)求-響應(yīng)形式,客戶(hù)端發(fā)請(qǐng)求,服務(wù)接收請(qǐng)求后進(jìn)行處理,處理完后響應(yīng)前臺(tái)。將后臺(tái)當(dāng)作一個(gè)獨(dú)立的存在,它提供出來(lái)了各種各樣的服務(wù),客戶(hù)端可以通過(guò)ajax方式去訪(fǎng)問(wèn)服務(wù),也可以通過(guò)非ajax的方式去訪(fǎng)問(wèn)服務(wù),也可以通過(guò)soap協(xié)議去訪(fǎng)問(wèn)服務(wù),或者可以通過(guò)socket方式去訪(fǎng)問(wèn)服務(wù)。
?
從上面看,服務(wù)就是系統(tǒng)對(duì)外可訪(fǎng)問(wèn)的功能集合。可以通過(guò)Ajax來(lái)訪(fǎng)問(wèn),也可以直接輸入一個(gè)URL來(lái)訪(fǎng)問(wèn),無(wú)論是通過(guò)Ajax來(lái)訪(fǎng)問(wèn)還是通過(guò)非Ajax來(lái)訪(fǎng)問(wèn),其實(shí)都是需要先進(jìn)行業(yè)務(wù)處理,不同的是渲染,有時(shí)候需要將結(jié)果數(shù)據(jù)以一定的形式返回,有時(shí)候需要返回一個(gè)JSP頁(yè)面返回展示。目前開(kāi)源有很多調(diào)用服務(wù)的框架,比如Struts、SpringMVC、DWR等,但是或多或少的有一些不盡人意的地方,Struts和SpringMVC都是比較重型一些,第一方面,服務(wù)的發(fā)布需要配置的地方有些多了,另一方面,實(shí)現(xiàn)服務(wù)需要太多的類(lèi)了,其實(shí)我們要的實(shí)現(xiàn)功能很簡(jiǎn)單,就是一個(gè)服務(wù)(一個(gè)類(lèi)的其中一個(gè)方法)。DWR調(diào)用簡(jiǎn)單,但本身只支持Ajax方式調(diào)用,還不夠。
?
服務(wù)層框架支持的特性有:
(1)支持基于SpringBean的服務(wù)發(fā)布(只需將服務(wù)類(lèi)注冊(cè)成一個(gè)Bean就可以訪(fǎng)問(wèn)該Bean的方法)
(2)支持前提傳入JSON格式的數(shù)據(jù),后臺(tái)方法接收對(duì)象參數(shù)
(3)支持請(qǐng)求數(shù)據(jù)和處理數(shù)據(jù)對(duì)象自動(dòng)邦定功能(前臺(tái)提交數(shù)據(jù)自動(dòng)會(huì)組裝到服務(wù)方法的傳入?yún)?shù)對(duì)象中)
(4)支持多種處理結(jié)果渲染器(Json、JSP等)
(5)支持統(tǒng)一的服務(wù)測(cè)試頁(yè)面
?