基于struts技術(shù)的Web應(yīng)用設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
基于struts技術(shù)的Web應(yīng)用設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
基于struts技術(shù)的Web應(yīng)用設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
基于struts技術(shù)的Web應(yīng)用設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
基于struts技術(shù)的Web應(yīng)用設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

基于struts技術(shù)的Web應(yīng)用設(shè)計(jì)與實(shí)現(xiàn)

摘要Struts是目前Web開(kāi)發(fā)中比較成熟的一種框架,本文闡述了基于MVC模型的Web應(yīng)用軟件開(kāi)發(fā)框架struts的體系結(jié)構(gòu)及主要組成組件,并結(jié)合一個(gè)實(shí)例討論如何設(shè)計(jì)基于struts框架的應(yīng)用,同時(shí)也分析了使用struts框架開(kāi)發(fā)web應(yīng)用的優(yōu)勢(shì)。關(guān)鍵詞Struts;模型;視圖;控制器近年來(lái),基于MVC(Model-View-Controller)模型的Struts框架越來(lái)越受到web系統(tǒng)開(kāi)發(fā)者的青睞。Struts是建立在當(dāng)前動(dòng)態(tài)網(wǎng)站設(shè)計(jì)領(lǐng)域中JSP、Servlet、XML等相關(guān)開(kāi)發(fā)技術(shù)基礎(chǔ)之上的一種主流開(kāi)發(fā)架構(gòu),具有組件模塊化、靈活性和重用性的優(yōu)點(diǎn),同時(shí)極大地簡(jiǎn)化了Web應(yīng)用程序的開(kāi)發(fā)。它合理地將用戶(hù)表示邏輯、業(yè)務(wù)邏輯和控制邏輯分離,使得開(kāi)發(fā)過(guò)程變得簡(jiǎn)潔清晰,并提高了軟件的可維護(hù)性和可重用性。1Struts框架Struts體系結(jié)構(gòu)Struts是一種基于MVC經(jīng)典設(shè)計(jì)模式的開(kāi)放源代碼的應(yīng)用框架,也是目前Web開(kāi)發(fā)中比較成熟的一種框架。通過(guò)把Servlet、JSP、JavaBean、自定義標(biāo)簽和信息資源整合到一個(gè)統(tǒng)一的框架中,為Web開(kāi)發(fā)提供了具有高可配置性的MVC開(kāi)發(fā)模式。Struts體系結(jié)構(gòu)實(shí)現(xiàn)了MVC設(shè)計(jì)模式的概念,它將Model、View和Controller分別映射到Web應(yīng)用中的組件。Model由代表系統(tǒng)狀態(tài)和商業(yè)邏輯Action來(lái)構(gòu)建,View是由JSP和struts提供的自定義標(biāo)簽來(lái)實(shí)現(xiàn),Controller負(fù)責(zé)控制流程,由ActionServlet和ActionMapping來(lái)完成。主要組件介紹下面我們就從分別從視圖、控制、模型和Struts的配置文件struts-config.xml來(lái)介紹struts的體系結(jié)構(gòu)。(1)視主要由JSP建立,Struts自身包含了一組可擴(kuò)展的自定義標(biāo)簽庫(kù)(Tag1ib),可以簡(jiǎn)化創(chuàng)建用戶(hù)界面的過(guò)程。(2)模型:模型主要是表示一個(gè)系統(tǒng)的狀態(tài)和業(yè)務(wù)邏輯。在Struts中,系統(tǒng)的狀態(tài)主要由ActiomFormBean體現(xiàn),對(duì)于業(yè)務(wù)邏輯通常由JavaBean或EJB組件來(lái)實(shí)現(xiàn)。(3)控制器:控制器主要由ActionServlet類(lèi)和Action類(lèi)來(lái)實(shí)現(xiàn),ActionServlet類(lèi)是Struts框架中的核心組件,主要負(fù)責(zé)接收HTTP請(qǐng)求信息。根據(jù)配置文件struts-config.xml的配置信息,把請(qǐng)求轉(zhuǎn)發(fā)合適的Action對(duì)象。Action類(lèi)負(fù)責(zé)調(diào)用模型的方法,更新模型的狀態(tài),并幫助控制應(yīng)用程序的流程。(4)配置文件struts-config.xml:當(dāng)ActionServlet接收HTTP請(qǐng)求信息時(shí),如何決定把用戶(hù)請(qǐng)求轉(zhuǎn)發(fā)給哪個(gè)Action對(duì)象呢?這就需要一些描述用戶(hù)請(qǐng)求路徑和Action映射關(guān)系的配置信息。在Struts中.這些配置映射信息都存儲(chǔ)在特定的XML文件Struts—config.xml中,在該配置文件中,每一個(gè)Action的映射信息都通過(guò)一個(gè)(action)元素來(lái)配置。這些配置信息在系統(tǒng)啟動(dòng)時(shí)會(huì)被讀入內(nèi)存,供Struts在運(yùn)行期間使用,在內(nèi)存中,每一個(gè)(action)元素都對(duì)應(yīng)一個(gè)ActionMapping類(lèi)的實(shí)例。

2基于Struts框架BBS系統(tǒng)實(shí)現(xiàn)BBS論壇是電子商務(wù)網(wǎng)站中一種常見(jiàn)的功能,它為上網(wǎng)用戶(hù)提供了一個(gè)自由的討論區(qū)。用戶(hù)可以根據(jù)需要在論壇上發(fā)表文章,提出問(wèn)題并表達(dá)自己的觀點(diǎn),俗稱(chēng)發(fā)帖子或灌水。與此同時(shí),上網(wǎng)用戶(hù)也可以在論壇中瀏覽其他人發(fā)表文章,并能對(duì)該文章進(jìn)行回復(fù)。故一個(gè)典型的BBS系統(tǒng)一般應(yīng)提供如下功能:①會(huì)員管理,②討論區(qū)文章查閱,③發(fā)表新文章,④后臺(tái)管理。運(yùn)用Struts框架實(shí)現(xiàn)BBS,首先把應(yīng)用分解為模型、視圖和控制器來(lái)實(shí)現(xiàn),這樣就將業(yè)務(wù)邏輯和表現(xiàn)層分開(kāi),提高軟件可擴(kuò)展性和良好的邏輯性,改變了傳統(tǒng)Web開(kāi)發(fā)設(shè)計(jì)模式。然后運(yùn)用配置文件將三者組裝起來(lái),協(xié)調(diào)它們完成相應(yīng)的功能。下面將以BBS中用戶(hù)登陸為例按照MVC架構(gòu)來(lái)詳述實(shí)現(xiàn)過(guò)程。創(chuàng)建視圖組件在視圖中主要包括兩個(gè)組件:用戶(hù)登錄頁(yè)面,是struts的輸入顯示頁(yè)面;登錄失敗頁(yè)面;是用戶(hù)登錄失敗后顯示的頁(yè)面。它們都保存在Web應(yīng)用目錄bbs下。創(chuàng)建模型組件模型組件文件是處理業(yè)務(wù)邏輯的JavaBean,封裝了與論壇用戶(hù)相關(guān)的所有信息,同時(shí)也定義了所有與論壇用戶(hù)信息處理相關(guān)的方法。例如檢查用戶(hù)身份的方法以及查找、刪除、編輯、存儲(chǔ)用戶(hù)信息等。通過(guò)Action類(lèi)派生的子類(lèi)LoginAction訪問(wèn)實(shí)現(xiàn)對(duì)業(yè)務(wù)邏輯的處理。如果模型組建處理的業(yè)務(wù)比較復(fù)雜可以使用EJB或其他J2EE組件來(lái)實(shí)現(xiàn)。注意業(yè)務(wù)邏輯層對(duì)應(yīng)的類(lèi)所在的包應(yīng)該部署在bbs/WEB-INF/classes下。創(chuàng)建控制器組件控制器組件作為整個(gè)Struts架構(gòu)的控制中心,包括了ActionServlet、ActionBean、ActionFormBean、以及相關(guān)配置文件、及資源包。ActionServlet類(lèi)是框架自帶的,是整個(gè)Struts框架的控制樞紐,通常不需要擴(kuò)展。⑴聲明及定義該Javabean用于收取用戶(hù)登錄頁(yè)面提交的表單數(shù)據(jù)。注意ActionFormBean中屬性名稱(chēng)一定要對(duì)應(yīng)用戶(hù)表示層JSP頁(yè)面中的表單元素名稱(chēng)及超鏈接參數(shù)名。⑵聲明及定義負(fù)責(zé)處理客戶(hù)端提交請(qǐng)求,其主要功能是依據(jù)接收到的不同請(qǐng)求,通過(guò)LoginActionForm中得到對(duì)應(yīng)的提交表單數(shù)據(jù),調(diào)用業(yè)務(wù)邏輯層中對(duì)應(yīng)的進(jìn)行處理。最終將結(jié)果傳給用戶(hù)表示層JSP頁(yè)面,顯示在用戶(hù)面前。⑶配置文件定義主要實(shí)現(xiàn)了對(duì)ActionServlet進(jìn)行配置,同時(shí)還必須聲明Web表示層中所使用的struts標(biāo)簽庫(kù)。針對(duì)本應(yīng)用配置如下。form-beansform-beanname="loginForm"type=""http://form-beansglobal-forwardsforwardname="LoginSuccessed"path="/"/forwardname="LoginFailed"path="/"http://global-forwardsaction-mappingsactionpath="/login"type=""name="loginForm"scope="session"input="/"http://action-mappings3結(jié)束語(yǔ)從某種意思上講,Struts技術(shù)只實(shí)現(xiàn)了Web層的應(yīng)用框架,但它是一個(gè)具有良好擴(kuò)展性和不斷完善的框架,結(jié)合J2EE核心設(shè)計(jì)模式,可構(gòu)建出相當(dāng)穩(wěn)定的基于MVC應(yīng)用框架,利用這樣應(yīng)用框架不但能縮短開(kāi)發(fā)時(shí)間,還能夠?qū)崿F(xiàn)框架和代碼的重用,是未來(lái)web應(yīng)用開(kāi)發(fā)的主流技術(shù)。參考文獻(xiàn):[

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論