4系統(tǒng)的技術(shù)實(shí)現(xiàn)
在本文的系統(tǒng)構(gòu)架與分層設(shè)計(jì)中,已經(jīng)清楚地闡述了系統(tǒng)的總體技術(shù)構(gòu)架與分層設(shè)計(jì),下面就實(shí)現(xiàn)框架的具體技術(shù)展開(kāi)敘述。
4.1表現(xiàn)層框架實(shí)現(xiàn)技術(shù)-STRUTS
STRUTS作為一種比較優(yōu)秀的MVC模式實(shí)現(xiàn)框架技術(shù)應(yīng)用已久,STRUTS框架技術(shù)主要的實(shí)現(xiàn)目的在于:①實(shí)現(xiàn)顯示層、控制層、業(yè)務(wù)層的分離;②攔截用戶的業(yè)務(wù)請(qǐng)求,代理業(yè)務(wù)邏輯層的業(yè)務(wù)功能,并將結(jié)果組織返回給客戶;③組織和控制頁(yè)面的流轉(zhuǎn)。如前文中圖(圖3-2 MVC三層結(jié)構(gòu)圖) 和(圖3-3:Struts的處理序列圖)所描述,下面我們舉例來(lái)說(shuō)明相應(yīng)的實(shí)現(xiàn):
1) 配置WEB.XML文件
WEB.XML主要配置STRUTS 的CONGFIG文件注入以及相應(yīng)的TAG 文件配置,如圖1:

圖1 WEB.XML配置STRUTS示例
2) 配置struts-config.xml文件
struts-config.xml主要配置ACTION FORM 與ACTION 之間的對(duì)應(yīng)關(guān)系以及JSP頁(yè)面提交表單到ACTION的對(duì)應(yīng),如下例:

圖2 struts-config.xml配置示例
3) LOGIN.JSP頁(yè)面代碼實(shí)例
根據(jù)以上配置所示:客戶從登錄頁(yè)面:LOGIN.JSP 登錄提交表單,可以看到相應(yīng)的表單為L(zhǎng)oginForm,相應(yīng)的處理ACTION為 loginFormAction;那么LOGIN.JSP頁(yè)面代碼如圖3

圖3 login.jsp代碼示例
4)LoginFormAction代碼實(shí)例
loginFormAction截取JSP客戶端提交的請(qǐng)求信息以后,開(kāi)始調(diào)用相應(yīng)的業(yè)務(wù)邏輯層中的業(yè)務(wù)處理類來(lái)進(jìn)行相應(yīng)的客戶驗(yàn)證等業(yè)務(wù)操作,然后根據(jù)返回的結(jié)果進(jìn)行相應(yīng)的頁(yè)面跳轉(zhuǎn);如下例:

圖4 LoginFormAction代碼示例
4.2業(yè)務(wù)層框架實(shí)現(xiàn)技術(shù)-SPRING
表現(xiàn)層(Action)在獲取客戶端請(qǐng)求以后,開(kāi)始調(diào)用業(yè)務(wù)邏輯層所提供的公開(kāi)接口來(lái)處理用戶的請(qǐng)求。這樣,用戶請(qǐng)求數(shù)據(jù)在表現(xiàn)層經(jīng)過(guò)數(shù)據(jù)驗(yàn)證、過(guò)濾、包裝以后開(kāi)始通過(guò)將客戶請(qǐng)求數(shù)據(jù)打包成數(shù)據(jù)傳遞對(duì)象(DT0)給業(yè)務(wù)邏輯層進(jìn)行業(yè)務(wù)邏輯處理。本系……