国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

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

2024-07-21 02:14:33
字體:
供稿:網(wǎng)友
  摘要 struts是目前中比較成熟的一種框架,本文闡述了基于mvc模型的web應(yīng)用軟件開發(fā)框架struts的體系結(jié)構(gòu)及主要組成組件,并結(jié)合一個實例討論如何設(shè)計基于struts框架的應(yīng)用,同時也分析了使用struts框架開發(fā)web應(yīng)用的優(yōu)勢。

  關(guān)鍵詞 struts;模型;視圖;控制器

  近年來,基于mvc(model-view-controller)模型的struts框架越來越受到web系統(tǒng)開發(fā)者的青睞。struts是建立在當前動態(tài)網(wǎng)站設(shè)計領(lǐng)域中jsp、servlet、xml等相關(guān)開發(fā)技術(shù)基礎(chǔ)之上的一種主流開發(fā)架構(gòu),具有組件模塊化、靈活性和重用性的優(yōu)點,同時極大地簡化了web應(yīng)用程序的開發(fā)。它合理地將用戶表示邏輯、業(yè)務(wù)邏輯和控制邏輯分離,使得開發(fā)過程變得簡潔清晰,并提高了軟件的可維護性和可重用性。

   


  struts框架
  
  1、struts體系結(jié)構(gòu)

  struts是一種基于mvc經(jīng)典設(shè)計模式的開放源代碼的應(yīng)用框架,也是目前中比較成熟的一種框架。通過把servlet、jsp、javabean、自定義標簽和信息資源整合到一個統(tǒng)一的框架中,為提供了具有高可配置性的mvc開發(fā)模式。
 
  struts體系結(jié)構(gòu)實現(xiàn)了mvc設(shè)計模式的概念,它將model、view和controller分別映射到web應(yīng)用中的組件。model由代表系統(tǒng)狀態(tài)和商業(yè)邏輯action來構(gòu)建,view是由jsp和struts提供的自定義標簽來實現(xiàn),controller負責(zé)控制流程,由actionservlet和actionmapping來完成。

  2、主要組件介紹

  下面我們就從分別從視圖、控制、模型和struts的配置文件struts-config.xml來介紹struts的體系結(jié)構(gòu)。

  (1)視圖:主要由jsp建立,struts自身包含了一組可擴展的自定義標簽庫(tag1 ib),可以簡化創(chuàng)建用戶界面的過程。

  (2)模型:模型主要是表示一個系統(tǒng)的狀態(tài)和業(yè)務(wù)邏輯。在struts中,系統(tǒng)的狀態(tài)主要由actiomform bean體現(xiàn),對于業(yè)務(wù)邏輯通常由javabean或ejb組件來實現(xiàn)。

  (3)控制器:控制器主要由actionservlet類和action類來實現(xiàn),actionservlet類是struts框架中的核心組件,主要負責(zé)接收http請求信息。根據(jù)配置文件struts-config.xml的配置信息,把請求轉(zhuǎn)發(fā)合適的action對象。action類負責(zé)調(diào)用模型的方法,更新模型的狀態(tài),并幫助控制應(yīng)用程序的流程。

  (4)配置文件struts-config.xml:當actionservlet接收http請求信息時,如何決定把用戶請求轉(zhuǎn)發(fā)給哪個action對象呢?這就需要一些描述用戶請求路徑和action映射關(guān)系的配置信息。在struts中.這些配置映射信息都存儲在特定的xml 文件struts—config.xml中,在該配置文件中,每一個action的映射信息都通過一個(action)元素來配置。這些配置信息在系統(tǒng)啟動時會被讀入內(nèi)存,供struts在運行期間使用,在內(nèi)存中,每一個(action)元素都對應(yīng)一個actionmapping類的實例。

  基于struts框架bbs系統(tǒng)實現(xiàn)

  bbs論壇是電子商務(wù)網(wǎng)站中一種常見的功能,它為上網(wǎng)用戶提供了一個自由的討論區(qū)。用戶可以根據(jù)需要在論壇上發(fā)表文章,提出問題并表達自己的觀點,俗稱發(fā)帖子或灌水。與此同時,上網(wǎng)用戶也可以在論壇中瀏覽其他人發(fā)表文章,并能對該文章進行回復(fù)。故一個典型的bbs系統(tǒng)一般應(yīng)提供如下功能:①會員管理,②討論區(qū)文章查閱,③發(fā)表新文章,④后臺管理。

  運用struts框架實現(xiàn)bbs,首先把應(yīng)用分解為模型、視圖和控制器來實現(xiàn),這樣就將業(yè)務(wù)邏輯和表現(xiàn)層分開,提高軟件可擴展性和良好的邏輯性,改變了傳統(tǒng)設(shè)計模式。然后運用struts-config.xml配置文件將三者組裝起來,協(xié)調(diào)它們完成相應(yīng)的功能。下面將以bbs中用戶登陸為例按照mvc架構(gòu)來詳述實現(xiàn)過程。

  1、創(chuàng)建視圖組件

  在視圖中主要包括兩個組件:用戶登錄頁面bbslogin.jsp,是struts的輸入顯示頁面;登錄失敗頁面wrong.jsp;是用戶登錄失敗后顯示的頁面。它們都保存在web應(yīng)用目錄bbs下。

  2、創(chuàng)建模型組件

  模型組件文件userinfo.java是處理業(yè)務(wù)邏輯的javabean, 封裝了與論壇用戶相關(guān)的所有信息,同時也定義了所有與論壇用戶信息處理相關(guān)的方法。例如檢查用戶身份的方法以及查找、刪除、編輯、存儲用戶信息等。通過action類派生的子類loginaction訪問userinfo.java實現(xiàn)對業(yè)務(wù)邏輯的處理。如果模型組建處理的業(yè)務(wù)比較復(fù)雜可以使用ejb或其他j2ee組件來實現(xiàn)。注意業(yè)務(wù)邏輯層對應(yīng)的類所在的包應(yīng)該部署在bbs/web-inf/classes下。

  3、創(chuàng)建控制器組件

  控制器組件作為整個struts架構(gòu)的控制中心,包括了actionservlet、action bean、actionform bean、以及相關(guān)配置文件web.xml、struts-config.xml及資源包。actionservlet類是框架自帶的,是整個struts框架的控制樞紐,通常不需要擴展。

  ⑴ 聲明及定義loginactionform.java

  該javabean用于收取用戶登錄頁面提交的表單數(shù)據(jù)。注意actionformbean中屬性名稱一定要對應(yīng)用戶表示層jsp頁面中的表單元素名稱及超鏈接參數(shù)名。

  ⑵ 聲明及定義loginaction.java

  loginaction負責(zé)處理客戶端提交請求,其主要功能是依據(jù)接收到的不同請求,通過loginactionform中得到對應(yīng)的提交表單數(shù)據(jù),調(diào)用業(yè)務(wù)邏輯層中對應(yīng)的userinfo.java進行處理。最終將結(jié)果傳給用戶表示層jsp頁面,顯示在用戶面前。

  ⑶ 配置文件定義

  web.xml主要實現(xiàn)了對actionservlet進行配置,同時還必須聲明web表示層中所使用的struts標簽庫。針對本應(yīng)用struts-config.xml配置如下。

<form-beans>
<form-bean name="loginform" type="bbs.loginform"/>
</form-beans>
<global-forwards>
<forward name="loginsuccessed" path="/bbsmain.jsp"/>
<forward name="loginfailed" path="/wrong.jsp"/>
</global-forwards>
<action-mappings>
<action path="/login" type="bbs.loginaction" name="loginform" scope="session" input="/bbslogin.jsp" />
</action-mappings>

  結(jié)束語

  從某種意思上講,struts技術(shù)只實現(xiàn)了web層的應(yīng)用框架,但它是一個具有良好擴展性和不斷完善的框架,結(jié)合j2ee核心設(shè)計模式,可構(gòu)建出相當穩(wěn)定的基于mvc應(yīng)用框架,利用這樣應(yīng)用框架不但能縮短開發(fā)時間,還能夠?qū)崿F(xiàn)框架和代碼的重用,是未來web應(yīng)用開發(fā)的主流技術(shù)。

商業(yè)源碼熱門下載www.html.org.cn

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 那曲县| 吴江市| 民和| 呼玛县| 砀山县| 普洱| 武清区| 泰州市| 扎兰屯市| 连云港市| 康保县| 噶尔县| 大埔县| 楚雄市| 吉安县| 张家川| 宜良县| 霍山县| 格尔木市| 齐河县| 桦川县| 渝中区| 徐州市| 钦州市| 二手房| 桦南县| 乌兰察布市| 济宁市| 视频| 淮滨县| 栾川县| 漳州市| 富裕县| 大化| 华宁县| 杨浦区| 田林县| 阳原县| 哈尔滨市| 临武县| 南华县|