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