<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • 淺析使用struts框架開發web應用的優勢

    時間:2024-11-02 01:22:51 Web Services 我要投稿
    • 相關推薦

    淺析使用struts框架開發web應用的優勢

      摘要 Struts是目前Web開發中比較成熟的一種框架,本文闡述了基于MVC模型的Web應用軟件開發框架struts的體系結構及主要組成組件,并結合一個實例討論如何設計基于struts框架的應用,同時也分析了使用struts框架開發web應用的優勢。

      關鍵詞 Struts;模型;視圖;控制器

      近年來,基于MVC(Model-View-Controller)模型的Struts框架越來越受到web系統開發者的青睞。Struts是建立在當前動態網站設計領域中JSP、Servlet、XML等相關開發技術基礎之上的一種主流開發架構,具有組件模塊化、靈活性和重用性的優點,同時極大地簡化了Web應用程序的開發。它合理地將用戶表示邏輯、業務邏輯和控制邏輯分離,使得開發過程變得簡潔清晰,并提高了軟件的可維護性和可重用性。

      1 Struts框架

      1.1 Struts體系結構

      Struts是一種基于MVC經典設計模式的開放源代碼的應用框架,也是目前Web開發中比較成熟的一種框架。通過把Servlet、JSP、JavaBean、自定義標簽和信息資源整合到一個統一的框架中,為Web開發提供了具有高可配置性的MVC開發模式。

      Struts體系結構實現了MVC設計模式的概念,它將Model、View和Controller分別映射到Web應用中的組件。Model由代表系統狀態和商業邏輯Action來構建,View是由JSP和struts提供的自定義標簽來實現,Controller負責控制流程,由ActionServlet和ActionMapping來完成。

      1.2主要組件介紹

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

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

      (2)模型:模型主要是表示一個系統的狀態和業務邏輯。在Struts中,系統的狀態主要由ActiomForm Bean體現,對于業務邏輯通常由JavaBean或EJB組件來實現。

      (3)控制器:控制器主要由ActionServlet類和Action類來實現,ActionServlet類是Struts框架中的核心組件,主要負責接收HTTP請求信息。根據配置文件struts-config.xml的配置信息,把請求轉發合適的Action對象。Action類負責調用模型的方法,更新模型的狀態,并幫助控制應用程序的流程。

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

      2 基于Struts框架BBS系統實現

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

      運用Struts框架實現BBS,首先把應用分解為模型、視圖和控制器來實現,這樣就將業務邏輯和表現層分開,提高軟件可擴展性和良好的邏輯性,改變了傳統Web開發設計模式。然后運用struts-config.xml配置文件將三者組裝起來,協調它們完成相應的功能。下面將以BBS中用戶登陸為例按照MVC架構來詳述實現過程。

      2.1創建視圖組件

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

      2.2創建模型組件

      模型組件文件UserInfo.java是處理業務邏輯的JavaBean, 封裝了與論壇用戶相關的所有信息,同時也定義了所有與論壇用戶信息處理相關的方法。例如檢查用戶身份的方法以及查找、刪除、編輯、存儲用戶信息等。通過Action類派生的子類LoginAction訪問UserInfo.java實現對業務邏輯的處理。如果模型組建處理的業務比較復雜可以使用EJB或其他J2EE組件來實現。注意業務邏輯層對應的類所在的包應該部署在bbs/WEB-INF/classes下。

      2.3 創建控制器組件

      控制器組件作為整個Struts架構的控制中心,包括了ActionServlet、Action Bean、ActionForm Bean、以及相關配置文件web.xml、struts-config.xml及資源包。ActionServlet類是框架自帶的,是整個Struts框架的控制樞紐,通常不需要擴展。

      ⑴ 聲明及定義LoginActionForm.java

      該Javabean用于收取用戶登錄頁面提交的表單數據。注意ActionFormBean中屬性名稱一定要對應用戶表示層JSP頁面中的表單元素名稱及超鏈接參數名。

      ⑵ 聲明及定義LoginAction.java

      LoginAction負責處理客戶端提交請求,其主要功能是依據接收到的不同請求,通過LoginActionForm中得到對應的提交表單數據,調用業務邏輯層中對應的UserInfo.java進行處理。最終將結果傳給用戶表示層JSP頁面,顯示在用戶面前。

      ⑶ 配置文件定義

      web.xml主要實現了對ActionServlet進行配置,同時還必須聲明Web表示層中所使用的struts標簽庫。針對本應用Struts-config.xml配置如下。

     。糵orm-beans>

      <form-bean name="loginForm" type="bbs.LoginForm"/>

      </form-beans>

      <global-forwards>

     。糵orward name="LoginSuccessed" path="/bbsMain.jsp"/>

     。糵orward name="LoginFailed" path="/wrong.jsp"/>

     。/global-forwards>

     。糰ction-mappings>

     。糰ction path="/login" type="bbs.LoginAction" name="loginForm" scope="session" input="/bbsLogin.jsp" />

     。/action-mappings>

      3 結束語

      從某種意思上講,Struts技術只實現了Web層的應用框架,但它是一個具有良好擴展性和不斷完善的框架,結合J2EE核心設計模式,可構建出相當穩定的基于MVC應用框架,利用這樣應用框架不但能縮短開發時間,還能夠實現框架和代碼的重用,是未來web應用開發的主流技術。

    【淺析使用struts框架開發web應用的優勢】相關文章:

    Web Service的開發與應用基礎07-12

    Web Workers加速移動Web應用07-01

    Java開發web的幾種開發模式12-13

    Web開發的教程圖解06-05

    WEB教程標準應用標簽10-19

    web網頁開發筆小知識06-22

    MBA專業碩士優勢淺析201801-22

    Struts中文問題怎么解決09-09

    淺析下凹式綠地設計優勢01-23

    JSP應用開發的特點10-14

    主站蜘蛛池模板: 国产成人精品久久| 91精品国产成人网在线观看| 国产cosplay精品视频| 久久精品国产精品亚洲人人 | 亚洲七七久久精品中文国产| 一级香蕉精品视频在线播放| 成人区人妻精品一区二区不卡视频 | 国产福利电影一区二区三区,欧美国产成人精品一 | 亚洲精品久久久www| 亚洲一区精品中文字幕| 国产精品亚洲片在线观看不卡 | 亚洲AV无码久久精品狠狠爱浪潮| 国产精品午夜免费观看网站| 精品久久久久久无码中文字幕一区| 欧美精品亚洲精品日韩专区| 国产精品青草视频免费播放| 久久精品国产影库免费看| 国产精品对白刺激久久久| 午夜欧美精品久久久久久久| 精品午夜福利1000在线观看| 国产精品国产欧美综合一区| 亚洲国产精品久久久久| 国产精品视频免费观看| 1024国产欧美日韩精品| 国内精品久久久久影院优| 亚洲AV无码成人网站久久精品大| 亚洲国产精品成人AV无码久久综合影院| 国产精品成人一区二区| 国产成人AV无码精品| AAA级久久久精品无码区| 3级黄性日本午夜精品| 日本精品久久久中文字幕| 精品久久久久久| 久久国产精品-久久精品| 91麻豆精品视频在线观看| 99RE6热在线精品视频观看| 精品亚洲成a人片在线观看少妇| 久久亚洲精精品中文字幕| 全球AV集中精品导航福利| 欧美精品中文字幕亚洲专区| 亚洲AV无码精品色午夜果冻不卡 |