資源描述:
《struts框架及其在web開(kāi)發(fā)中的應(yīng)用》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。
1、Struts框架及其在Web開(kāi)發(fā)中的應(yīng)用摘 要Struts是當(dāng)前VC(Model/Vie的映像,完成對(duì)用戶數(shù)據(jù)的封裝。圖1Struts體系結(jié)構(gòu)控制器:作用是從客戶端接受請(qǐng)求,并選擇執(zhí)行相應(yīng)的業(yè)務(wù)邏輯,然后把響應(yīng)結(jié)果送回到客戶端。在Struts中,控制器由ActionServlet和ActionMapping對(duì)象構(gòu)成,核心是一個(gè)Servlet類(lèi)型的對(duì)象ActionServlet,它用來(lái)接受客戶端的請(qǐng)求并分發(fā)到相應(yīng)的動(dòng)作類(lèi)(Action類(lèi)的子類(lèi))。ActionServlet包括一組基于配置的ActionMapping對(duì)象,每個(gè)ActionMapp
2、ing對(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的類(lèi)對(duì)象處理。Action對(duì)象封裝了具體的處理邏輯,調(diào)用業(yè)務(wù)邏輯模塊,并且把響應(yīng)提交給合適的Vie可以派生子類(lèi)對(duì)象,通過(guò)結(jié)合自定義標(biāo)記庫(kù)以實(shí)現(xiàn)對(duì)客戶端的表單數(shù)據(jù)的良好封裝和支持。Action對(duì)象可以直接對(duì)ActionForm進(jìn)行讀寫(xiě),而不再需要和request,response對(duì)象進(jìn)
3、行數(shù)據(jù)交互。通過(guò)ActionForm對(duì)象實(shí)現(xiàn)了對(duì)Viel:用于建立Controller和Model之間的關(guān)系,將各部分緊密聯(lián)系在一起。它描述了Controller所使用的把請(qǐng)求對(duì)應(yīng)到具體處理的法則,同時(shí)它還描述了客戶提供的數(shù)據(jù)與ActionForm組件的對(duì)應(yīng)映射關(guān)系。1.3Sturts的工作流程對(duì)于采用Struts框架的l文件中讀取配置信息,把他們存放到各種配置對(duì)象中。其具體工作流程如下:⑴客戶端(Client)通過(guò)本地瀏覽器(Brol文件中尋找請(qǐng)求的URL,找到對(duì)應(yīng)的Action。⑶Action類(lèi)執(zhí)行建立在模型組件基礎(chǔ)上的業(yè)務(wù)邏輯,模型組件
4、是和應(yīng)用程序關(guān)聯(lián)的。⑷一旦Action類(lèi)處理完業(yè)務(wù)邏輯,它把控制權(quán)返回給ActionServlet,Action類(lèi)提供一個(gè)鍵值作為返回的一部分,它指明了處理的結(jié)果AcLionServlet使用這個(gè)鍵值來(lái)決定在什么視圖中顯示Action的類(lèi)處理結(jié)果。⑸當(dāng)ActionServlet把Action類(lèi)的處理結(jié)果傳送到指定的視圖中,請(qǐng)求的過(guò)程也就完成了。2cat。首先展開(kāi)struts的壓縮文件到Tomcat的主目錄ple下的l文件中內(nèi)容清空。開(kāi)發(fā)時(shí),將JSP文件放在testl,logic,template標(biāo)記),能夠大大提高開(kāi)發(fā)效率。在該系統(tǒng)中,其注冊(cè)
5、頁(yè)面reguserinfo.jsp概要如下:<%pagecontentType=”text/html;charset=UTF-8”language=”java”%><%tagliburi="/l.tld"prefix="html"%>//引用Strutshtml標(biāo)記<html:htmllocale="true"><head><title>RegisterUser</title></head><bodybgcolor="#FFFF"><html
6、:errors/><html:formaction="reguser.do"focus="userID"><tableborder="0"e:</th><tdalign="left"><html:textproperty="userID"size="20"maxlength="20"/></td></tr><tr><thalign="right">Passl:passaxlength="20"size="20"property="pas
7、sl:submitproperty="submit"value="submit"/></td><tdalgin="left"><html:reset/></td></tr></table></html:form></body></html:html>⑶實(shí)現(xiàn)模型功能的組件設(shè)計(jì)構(gòu)建模型部分的組件是工作重點(diǎn),它包含了整個(gè)應(yīng)用程序的業(yè)務(wù)邏輯。此系統(tǒng)設(shè)計(jì)的組件為:①系統(tǒng)狀態(tài)組件(FormBean),即實(shí)體模型類(lèi),它繼承自ActionForm
8、類(lèi),用來(lái)存放表單數(shù)據(jù),與注冊(cè)頁(yè)面的表單對(duì)應(yīng)的數(shù)據(jù)bean為:importorg.apache.struts.action.*;//引用Struts類(lèi)包publicc