圖1:Struts體系結(jié)構(gòu) 控制器:作用是從客戶端接受請(qǐng)求,并選擇執(zhí)行相應(yīng)的業(yè)務(wù)邏輯,然后把響應(yīng)結(jié)果送回到客戶端。在Struts中,控制器由ActionServlet和ActionMapping對(duì)象構(gòu)成,核心是一個(gè)Servlet類型的對(duì)象ActionServlet,它用來接受客戶端的請(qǐng)求并分發(fā)到相應(yīng)的動(dòng)作類(Action類的子類)。ActionServlet包括一組基于配置的ActionMapping對(duì)象,每個(gè)ActionMapping對(duì)象實(shí)現(xiàn)了一個(gè)請(qǐng)求到一個(gè)具體的Model部分中Action對(duì)象之間的映射。模型:在Struts中,Model可以分為系統(tǒng)的內(nèi)部狀態(tài)和改變系統(tǒng)狀態(tài)的行為(業(yè)務(wù)邏輯)兩部分。系統(tǒng)的內(nèi)部狀態(tài)常由一組JavaBean表示,業(yè)務(wù)邏輯由Action和ActionForm的類對(duì)象處理。Action對(duì)象封裝了具體的處理邏輯,調(diào)用業(yè)務(wù)邏輯模塊,并且把響應(yīng)提交給合適的View以產(chǎn)生響應(yīng)業(yè)務(wù)對(duì)象更新應(yīng)用程序的狀態(tài)。ActionForm可以派生子類對(duì)象,通過結(jié)合自定義標(biāo)記庫以實(shí)現(xiàn)對(duì)客戶端的表單數(shù)據(jù)的良好封裝和支持。Action對(duì)象可以直接對(duì)ActionForm進(jìn)行讀寫,而不再需要和request,response對(duì)象進(jìn)行數(shù)據(jù)交互。通過ActionForm對(duì)象實(shí)現(xiàn)了對(duì)View和Model之間交互的支持。Struts-config.xml:用于建立Controller和Model之間的關(guān)系,將各部分緊密聯(lián)系在一起。它描述了Controller所使用的把請(qǐng)求對(duì)應(yīng)到具體處理的法則,同時(shí)它還描述了客戶提供的數(shù)據(jù)與ActionForm組件的對(duì)應(yīng)映射關(guān)系。1.3、Sturts的工作流程對(duì)于采用Struts框架的Web應(yīng)用,在Web應(yīng)用啟動(dòng)時(shí)就會(huì)加載并初始化ActionServlet,從struts-config.xml文件中讀取配置信息,把他們存放到各種配置對(duì)象中。其具體工作流程如下:⑴客戶端(Client)通過本地瀏覽器(Browser)向服務(wù)器發(fā)出一個(gè)請(qǐng)求(HTTP Request)。新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注