基于Stuts的MVC模型
Struts是Apache組織的一個(gè)項(xiàng)目,像其他的Apache組織的項(xiàng)目一樣,也是開(kāi)放原碼項(xiàng)目。
它是一個(gè)比較好的MVC框架提供了對(duì)開(kāi)發(fā)MVC系統(tǒng)的底層支持,采用的主要技術(shù)是Servlet
JSP和custom tag library。
Struts是一組相互協(xié)作的類(lèi)、Servlet和JSP標(biāo)記,它們組成一個(gè)可重用的MVC設(shè)計(jì)。這個(gè)
定義表示Struts是一個(gè)框架,而不是一個(gè)庫(kù),但Struts也包含了豐富 的標(biāo)記庫(kù)和獨(dú)立于
該框架工作的使用程序類(lèi)。
其中struts-config.xml是Structs配置文件,該文件一般和web.xml放在同一目錄下。作為一個(gè)
MVC的框架,Struts對(duì)Model、View和Controller都提供了對(duì)應(yīng)的實(shí)現(xiàn)組件。
1)Controller:Controller的作用是從客戶端結(jié)束請(qǐng)求,并且選擇執(zhí)行響應(yīng)的業(yè)務(wù)邏輯,然后
把響應(yīng)結(jié)果送回到客戶端。在Struts中Controller功能由ActionServlet和ActionMapping對(duì)象
構(gòu)成。核心是一個(gè)Servlet類(lèi)型的對(duì)象ActionServlet,他用來(lái)接收客戶端的請(qǐng)求。
ActionServlet包括一組基于配置的ActionMapping對(duì)象,每個(gè)ActionMapping對(duì)象實(shí)現(xiàn)了從一
請(qǐng)求到一個(gè)具體的Model部分中Action處理器對(duì)象之間的映射。
2)Model:MVC系統(tǒng)中的Model部分從概念上可以分為兩類(lèi)——系統(tǒng)的內(nèi)部在狀態(tài)和改變系統(tǒng)狀態(tài)
的動(dòng)作。Struts為Model部分提供了Action和ActionForm對(duì)象。所有的Action處理器對(duì)象都是
開(kāi)發(fā)者從Struts的Action類(lèi)派生的子類(lèi)。Action處理器對(duì)象封裝了具體的處理邏輯,調(diào)用業(yè)
務(wù)邏輯模塊,并且把響應(yīng)提交到合適的View組件以產(chǎn)生響應(yīng)。Struts提供的ActionForm組件
對(duì)象,可以通過(guò)定義屬性描述客戶端表單數(shù)據(jù)。開(kāi)發(fā)者可以從它派生子類(lèi)對(duì)性愛(ài)那個(gè),利用它
和Struts提供的自定義標(biāo)記庫(kù)結(jié)合可以事項(xiàng)對(duì)客戶端的表單數(shù)據(jù)的良好的封裝和支持。Action
處理對(duì)象可以直接對(duì)它進(jìn)行讀寫(xiě),而不再需要和request、response對(duì)象進(jìn)行數(shù)據(jù)交互。
3)View:Struts應(yīng)用中的View部分是通過(guò)JSP技術(shù)實(shí)現(xiàn)的。Struts提供了自定義的標(biāo)記庫(kù),通過(guò)
這些自定義標(biāo)記可以非常好地和系統(tǒng)的Model部分交互。通過(guò)使用這些自定義標(biāo)記創(chuàng)建的JSP
表單,可以實(shí)現(xiàn)和Model部分中的ActionForm的映射,完成對(duì)用戶數(shù)據(jù)的封裝,同時(shí)這些自定義
標(biāo)記還提供了像模版定制等多種顯示功能。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。