資源描述:
《理工論文基于struts框架技術(shù)的web應(yīng)用》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學術(shù)論文-天天文庫。
1、基于Struts框架技術(shù)的Web應(yīng)用基于Struts框架技術(shù)的Web應(yīng)用是小柯論文網(wǎng)通過網(wǎng)絡(luò)搜集,并由本站工作人員整理后發(fā)布的,基于Struts框架技術(shù)的Web應(yīng)用是篇質(zhì)量較高的學術(shù)論文,供本站訪問者學習和學術(shù)交流參考之用,不可用于其他商業(yè)目的,基于Struts框架技術(shù)的Web應(yīng)用的論文版權(quán)歸原作者所有,因網(wǎng)絡(luò)整理,有些文章作者不詳,敬請諒解,如需轉(zhuǎn)摘,請注明出處小柯論文網(wǎng),如果此論文無法滿足您的論文要求,您可以申請本站幫您代寫論文,以下是正文。摘要:Struts是MVC模式的經(jīng)典實現(xiàn),它強制性地將Web應(yīng)用程序分割為模型、視圖和控制器三個組件,提高了系統(tǒng)的可維護性與可移植性,文章運用原
2、理說明與實例解析相結(jié)合的方法,對Struts的技術(shù)特性與應(yīng)用形式作了進一步的探索與研究?! £P(guān)鍵詞:Struts;MVC;網(wǎng)絡(luò)購物系統(tǒng) 1MVC設(shè)計模式 MVC是一種經(jīng)典的設(shè)計模式。它強制性地使應(yīng)用程序的輸入、處理和輸出分開,把應(yīng)用程序抽象為三個核心部件:Model(模型)、View(視圖)、Controller(控制器)。模型代表程序的核心功能,負責實現(xiàn)業(yè)務(wù)邏輯。視圖負責提供用戶輸入接口或展現(xiàn)業(yè)務(wù)處理的結(jié)果數(shù)據(jù),實現(xiàn)與用戶的交互??刂破髫撠熃邮苡脩粽埱螅{(diào)用某個模型處理用戶請求,最后將結(jié)果送給特定視圖進行顯示。MVC模式實現(xiàn)功能模塊與顯示模塊的分離,因此提高了應(yīng)用系統(tǒng)的可維
3、護、可擴展、可移植及組件的可復用性。三者之間的關(guān)系如圖1所示?! ?Struts對MVC模式的實現(xiàn)與工作流程 2.1Struts基于MVC模式的組件結(jié)構(gòu) Struts是由Apache開源軟件聯(lián)盟提供的一套用于構(gòu)建JavaWeb應(yīng)用程序的框架。它的目標是將Web應(yīng)用程序分離為視圖層、控制層、模型層,也就是MVC模式?! ∫晥D。它主要由JSP與ActionForm構(gòu)成,Struts定義專用的標簽庫簡化了視圖組件的開發(fā),提高了開發(fā)效率?;贏ctionForm的表單顯示、表單驗證簡化了用戶界面的開發(fā)?! ∧P?。模型代表了一個系統(tǒng)的業(yè)務(wù)數(shù)據(jù)和業(yè)務(wù)邏輯,并負責訪問和更新持久化數(shù)據(jù)。在S
4、truts中,系統(tǒng)業(yè)務(wù)邏輯主要由JavaBean或EJB組件來體現(xiàn)?! 】刂破鳌?刂破髦饕葾ctionServlet類和Action類來實現(xiàn)。ActionServlet類是Struts框架中的核心組件,所有的用戶請求都先由ActionServlet來處理,然后根據(jù)配置文件struts-config.xml的配置信息,把請求轉(zhuǎn)發(fā)給合適的Action對象。Action類是用戶請求和業(yè)務(wù)邏輯之間的橋梁,每個Action充當著一項業(yè)務(wù)代理,同時,Action類還負責更新模型的狀態(tài),并幫助控制應(yīng)用程序的流程?! ?.2Struts的工作流程 當Actionservlet(控制器)接收到一個客戶
5、請求時,將執(zhí)行如下流程: 檢索和用戶請求匹配的ActionMaPPing實例,如果不存在,就返回用戶請求路徑無效的信息?! ∪绻鸄stionForm實例不存在,就創(chuàng)建一個ActionForm對象,把客戶提交的表單數(shù)據(jù)封裝到ActionForm對象中。 根據(jù)配置信息決定是否需要表單驗證,如果需要驗證,就調(diào)用ActionForm的驗證方法validate()?! ∪绻鸄ctionForm的validate()方法返回一個不包含任何ActionMessage的ActlonErrors集合對象或返回nun,就表示表單驗證成功。 Actionservlet根據(jù)AstionMapping實例包
6、含的映射信息決定將請求轉(zhuǎn)發(fā)給系統(tǒng)的哪個Action,如果相應(yīng)的Action實例不存在,就先創(chuàng)建這個實例,然后調(diào)用Aetion的execute()方法。 Action的execute()方法返回一個ActionForm對象,Actionservlet再把客戶請求轉(zhuǎn)發(fā)給ActionForward對象所指向的JSP組件。ActionForward對象指向的視圖組件生成動態(tài)網(wǎng)頁,返回給客戶。對于以上流程的第4,如果ActionForm的validate()方法返回一個包含一個或多個ActionMessage的ActionErrors對象,就表示表單驗證失敗,此時Actionservlet將直接
7、把請求轉(zhuǎn)發(fā)給包含用戶提交表單的JSP組件。在這種情況下,不會創(chuàng)建Action對象。Struts的體系結(jié)構(gòu)如圖2所示?! ?基于Struts框架技術(shù)的網(wǎng)上購物系統(tǒng)的體系結(jié)構(gòu) 下文以一個名為ShoppingOnline的購物系統(tǒng)的應(yīng)用為例,介紹系統(tǒng)基于Struts技術(shù)的架構(gòu)設(shè)計與工作流程。 3.1系統(tǒng)架構(gòu)設(shè)計 用戶通過瀏覽器訪問該系統(tǒng),故系統(tǒng)的軟件架構(gòu)采用的是多層的B/S結(jié)構(gòu),利用Struts框架技術(shù)實現(xiàn)快速開發(fā)。用JSP