999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Struts框架的Web應用系統設計與實現

2009-04-29 00:00:00
電腦知識與技術 2009年15期

摘要:Struts是基于MVC模型的Web應用軟件開發框架,文中闡述了Struts的體系結構及主要組成組件,并以BBS系統實現為實例,討論如何設計基于Struts框架的應用,同時也分析了使用Struts框架開發web應用的優勢。

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

中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2009)15-3951-02

The Design and Implement of Web Application System Based on Struts Framework

ZHANG Wei1,2, GAO Yuan1

(1.Anyang Institute of Technology, Anyang 455000, China; 2.Master in East China Normal University, Shanghai 200062, China)

Abstract: Struts is the Web-application development framework based on MVC model, the paper explain clearlythe architecture and key component parts of Struts, and take BBS systems implementation as an example to discuss how to design applications based on Struts framework, also analyzed the advantages of using the struts framework in web application development.

Key words: Struts; model; view; controller; MVC

1 引言

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

2 Struts框架

2.1 Struts體系結構

Struts是Apache 基金會Jakarta 項目組的一個Open Source 項目,它采用MVC模式,能夠很好地幫助java 開發者利用J2EE開發Web應用。和其他的java架構一樣,Struts 也是面向對象設計,將MVC模式\"分離顯示邏輯和業務邏輯\"的能力發揮得淋漓盡致。Structs 框架的核心是一個彈性的控制層,基于如 Java Servlets,JavaBeans,ResourceBundles與XML等標準技術,以及 Jakarta Commons 的一些類庫。Struts有一組相互協作的類(組件)、Serlvet以及jsp tag lib組成。基于struts構架的web應用程序基本上符合JSP Model2的設計標準,可以說是一個傳統 MVC設計模式的一種變化類型。

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

2.2 主要組件介紹

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

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類的實例。

3 基于Struts框架BBS系統實現

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

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

3.1 創建視圖組件

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

3.2 創建模型組件

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

3.3 創建控制器組件

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

3.3.1 聲明及定義LoginActionForm.java

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

3.3.2 聲明及定義LoginAction.java

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

3.3.3 配置文件定義

web.xml主要實現了對ActionServlet進行配置,同時還必須聲明Web表示層中所使用的struts標簽庫。針對本應用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>

4 結束語

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

參考文獻:

[1] 周寶剛,劉杰,李成.基于Struts的WEB頁面構建系統[J].電腦知識與技術,2008(4):695-698.

[2] 劉杰.Struts——基于MVC的Web開發框架[J].電腦知識與技術,2007(18):1677-1678.

[3] 賴英旭,李毛毛,劉增輝.MVC模式在B/S系統開發中的應用研究[J].微計算機信息,2006,22(30):62-64,113.

[4] 孫衛琴.精通Struts基于MVC的Web設計與開發[M].北京:電子工業出版社,2004.

主站蜘蛛池模板: 国产成人一级| 亚洲国产清纯| 国产农村1级毛片| 最新国语自产精品视频在| 久久人体视频| 亚洲性日韩精品一区二区| 婷婷中文在线| 欧美全免费aaaaaa特黄在线| 国产18在线播放| 欧美精品影院| 国产特一级毛片| 精品国产美女福到在线不卡f| 福利片91| 啪啪啪亚洲无码| 91网在线| 国产欧美视频综合二区| 日韩福利视频导航| 日韩午夜福利在线观看| 99精品国产高清一区二区| 亚洲男女天堂| 一级毛片免费观看不卡视频| 欧美日韩国产在线播放| 试看120秒男女啪啪免费| 国产精品任我爽爆在线播放6080 | 不卡午夜视频| 亚洲中文无码av永久伊人| 亚洲国产系列| 国产在线观看人成激情视频| 免费国产小视频在线观看| 综合人妻久久一区二区精品| 色爽网免费视频| 久久综合婷婷| 亚洲欧美h| 男人天堂伊人网| 在线视频精品一区| 国模极品一区二区三区| 欧美三级自拍| 亚洲码一区二区三区| 欧美色图第一页| 久久久精品无码一二三区| av在线无码浏览| 一级全黄毛片| 欧洲精品视频在线观看| 青青草原国产| 亚洲swag精品自拍一区| 国产亚洲精品在天天在线麻豆| 国产新AV天堂| 中文字幕在线看视频一区二区三区| 国产精品美女自慰喷水| 亚洲成a人片77777在线播放 | 重口调教一区二区视频| 天堂成人av| 亚洲第一色视频| 国产福利影院在线观看| 97亚洲色综久久精品| 亚洲一区免费看| 国产无遮挡猛进猛出免费软件| 人妻21p大胆| 麻豆国产原创视频在线播放| 国产精品人人做人人爽人人添| 99精品国产电影| 欧美午夜网| 欧美成人午夜在线全部免费| 国产精品亚洲а∨天堂免下载| 国产精品视频猛进猛出| 欧美午夜网站| 在线五月婷婷| 白丝美女办公室高潮喷水视频| 亚洲a免费| 欧美国产日产一区二区| 免费播放毛片| 少妇精品在线| 国产一区二区三区在线观看视频 | 国产高潮流白浆视频| 久久久精品国产亚洲AV日韩| 国产真实二区一区在线亚洲| 婷婷色在线视频| 欧美精品成人| a国产精品| 免费毛片全部不收费的| 精品无码视频在线观看| 尤物国产在线|