1. Model 部分
Struts 的Model 部分由ActionForm和JavaBean 組成。其中ActionForm用于封裝用戶請(qǐng)求參數(shù),所有的用戶請(qǐng)求參數(shù)由系統(tǒng)自動(dòng)封裝成ActionForm 對(duì)象;該對(duì)象被ActionServlet轉(zhuǎn)發(fā)給Action; 然后Action 根據(jù)ActionForm里的請(qǐng)求參數(shù)處理用戶請(qǐng)求。
而JavaBean 則封裝了底層的業(yè)務(wù)邏輯,包括數(shù)據(jù)庫(kù)訪問等。在更復(fù)雜的應(yīng)用中,JavaBean所代表的絕非一個(gè)簡(jiǎn)單的JavaBean,可能是EJB 組件或者其他的業(yè)務(wù)邏輯組件。
2. View 部分
Struts 的View 部分采用lSP 實(shí)現(xiàn)。Struts 提供了豐富的標(biāo)簽庫(kù),通過這些標(biāo)簽庫(kù)可以最大限度地減少腳本的使用。這些自定義的標(biāo)簽庫(kù)可以實(shí)現(xiàn)與Model 的有效交互,并增加了顯示功能。
整個(gè)應(yīng)用由客戶端請(qǐng)求驅(qū)動(dòng),當(dāng)客戶端請(qǐng)求被ActionServlet 攔截時(shí), ActionServlet根據(jù)請(qǐng)求決定是否需要調(diào)用Model 處理用戶請(qǐng)求,當(dāng)用戶請(qǐng)求處理完成后,其處理結(jié)果通過JSP呈現(xiàn)給用戶。
3. Controller部分
Struts 的Controller 由兩個(gè)部分組成。
.系統(tǒng)核心控制器
·業(yè)務(wù)邏輯控制器
其中,系統(tǒng)核心控制器對(duì)應(yīng)圖3 .4中的ActionServlet。該控制器由Struts 框架提供,繼承HttpServlet類,因此可以配置成一個(gè)標(biāo)準(zhǔn)的Servlet。該控制器負(fù)責(zé)攔截所有Http請(qǐng),然后根據(jù)用戶請(qǐng)求決定是否需要調(diào)用業(yè)務(wù)邏輯控制器,如果需要調(diào)用業(yè)務(wù)邏輯控制器,則將請(qǐng)求轉(zhuǎn)發(fā)給Action 處理,否則直接轉(zhuǎn)向請(qǐng)求的JSP 頁(yè)面。
業(yè)務(wù)邏輯控制器負(fù)責(zé)處理用戶請(qǐng)求,但業(yè)務(wù)邏輯控制器本身并不具有處理能力,而是調(diào)用Model 來完成處理。?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
