《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > 面向Web系統的Struts框架研究與應用

面向Web系統的Struts框架研究與應用

2008-07-08
作者:林 穗, 李振坤

??? 摘 要: Struts是目前面向Web系統開發的一種成熟框架。介紹了框架及設計模式" title="設計模式">設計模式的基本思想,闡述了基于MVC模式的struts框架的體系結構及主要組成組件,并基于struts框架開發了高考網上報名系統" title="報名系統">報名系統。
??? 關鍵詞:軟件復用" title="復用">復用? 領域框架? Struts? Web應用? 報名系統

?

??? 軟件復用可以縮短軟件的開發周期,提高軟件的可靠性,降低軟件的開發成本,因此軟件復用技術被認為是解決軟件危機的有效途徑,成為軟件工程的研究熱點[1]。面向領域的復用是提高軟件復用水平的主要途徑,工業化的軟件復用已經從通用類庫進化到了面向領域的應用框架[2]
??? Struts是目前Web開發中比較成熟的一種框架,通過把Servlet、JSP、JavaBean、自定義標簽和信息資源整合到一個統一的框架中,為Web開發提供了具有高可配置性的MVC開發模式。本文從軟件體系結構的理論著手,利用現有的理論體系和技術框架指導應用軟件開發中的實際問題,在MVC模式的指導下設計并實現了一個基于Struts框架的高考網上報名系統。實踐表明,采用這種方法開發應用軟件能擴大軟件代碼的復用率,提高軟件代碼的復用質量和開發效率。
1 框架的概念
??? 軟件生產中的重用技術由來已久,從最早使用的函數庫,到現在廣泛使用的類庫、構件庫" title="構件庫">構件庫,但這些都只能復用小型的組件。隨著面向對象技術的出現,研究人員開發了一種能復用大型組件的技術——框架[2]
1.1 框架與構件
??? 一個框架是一個可復用的設計構件,它規定了應用的體系結構,闡明了整個設計、協作構件之間的依賴關系、責任分配和控制流程,表現為一組抽象類及其實例之間協作的方法,它為構件復用提供了上下文(Context)關系,因此構件庫的大規模重用也需要框架。構件領域框架方法是構件技術、軟件體系結構研究和應用軟件開發三方面發展結合的產物。在很多情況下,框架通常以構件庫的形式出現,但構件庫只是框架的一個重要部分。框架的關鍵還在于框架內對象間的交互模式和控制流模式。框架為構件提供重用的環境,為構件處理錯誤、交換數據及激活操作提供了標準的方法。應用框架強調的是軟件的設計重用性和系統的可擴充性,以縮短大型應用軟件系統的開發周期,提高開發質量。與傳統的基于類庫的面向對象重用技術比較,應用框架更注重于面向專業領域的軟件重用。
1.2? 框架和設計模式
??? 框架、設計模式這兩個概念總容易被混淆,它們雖然相似,卻有著本質的不同。設計模式是對在某種環境中反復出現的問題以及解決該問題的方案的描述,它比框架更抽象;框架可以用代碼表示,也能夠直接執行或復用,而設計模式只有實例才能用代碼表示;設計模式是比框架更小的元素,一個框架中往往含有一個或多個設計模式;框架總是針對某一特定應用領域,但同一模式卻可適用于各種應用。簡單地說,框架是軟件,而設計模式是軟件的知識。在軟件開發過程中把框架和模式配合起來使用,可以極大地提高軟件的重用性。
2 面向Web應用的Struts框架
??? Struts是一種基于MVC模式的開放源代碼的應用框架,它將應用程序分解為業務邏輯、控制邏輯和表現邏輯,降低了各邏輯層之間的耦合度,提高了應用程序的開發速度及可維護性和可重用性。
2.1 MVC設計模式
??? 模型-視圖-控制器MVC(Modle-View-Controller)模式是Xerox PARC在二十世紀80年代為編程語言Smalltalk-80所設計的一種軟件設計模式,至今已被廣泛使用,并被推薦為Sun公司J2EE平臺的設計模式。MVC模式主要由三個部分組成:模型、視圖和控制器,其結構如圖1所示。

?

??? 模型表示業務邏輯和業務規則等,模型能為多個視圖提供數據,它是MVC的三個部件中處理任務最多的一個。它可以用JavaBean和EJB等組件技術來處理數據庫的訪問。由于應用于模型的代碼只需寫一次就可以被多個視圖重用,所以減少了代碼的重復性。視圖是屏幕上的顯示,模型進行操作之后,其結果就是通過視圖來顯示的。在視圖中其實沒有真正的處理發生,只是作為一種輸出數據并允許用戶操作的方式。控制器用于管理用戶與視圖發生的交互。當用戶想對模型進行處理時,它不能直接去執行模型,而是通過控制器來間接地實現。控制器能從視圖中取值,然后將相應的值傳送給模型進行處理。控制器接收用戶的輸入并調用模型和視圖去完成用戶的需求。
2.2 Struts框架
??? Struts體系結構實現了MVC設計模式的概念,它將Model、View和Controller分別映射到Web應用中的組件,其結構如圖2所示。

?

??? 在Struts框架中Controller功能由ActionServlet和ActionMapping對象構成,核心是一個Servlet類型的對象ActionServlet,它用來接收客戶端的請求。ActionServlet包括一組基于配置的ActionMapping對象,每個ActionMapping對象實現了一個請求到一個具體的Model部分的Action處理器對象之間的映射。Model部分由Action和ActionForm對象構成。所有的Action處理器對象都是開發者從Struts的Action類派生的子類。Action處理器對象封裝了具體的處理邏輯,調用業務邏輯模塊,并且把響應提交到合適的View組件以產生響應。Struts提供的ActionForm組件對象可以通過定義屬性描述客戶端表單" title="表單">表單數據,開發者可以從它派生子類對象,并利用它和Struts提供的自定義標記庫相結合,可以實現對客戶端的表單數據的良好封裝和支持,Action處理器對象可以直接對它進行讀寫,而不再需要和request、response對象進行數據交互。通過ActionForm組件對象實現了對View和Model之間交互的支持(View部分是通過JSP技術實現的)。Struts提供了自定義的標記庫,通過這些自定義標記庫可以非常容易地和系統的Model部分交互,通過使用這些自定義標記庫創建的JSP表單,可以實現對Model部分中的ActionForm的映射,完成對用戶數據的封裝。
3 基于Struts框架的高考網上報名系統
??? 隨著各類考試、招生業務過程信息化建設的不斷完善和深入,傳統的C/S架構的報名系統已經不能適應日益變化的需求。各級報名招考系統都傾向于采用Web形式的系統應用,在這種情況下,本文基于MVC設計模式的Struts框架開發了廣東省普通高考網上報名系統。該架構可簡述為:為數據基本信息表創建數據模型(Model),封裝其所有屬性以及對屬性的Get和Set等方法,根據具體需求創建一系列Javabean的操作,用JSP來顯示Model的內容,用控制器Web.xml來控制對定向和資源文件的讀取。該結構使得系統具有良好的開發效率、可伸縮性、靈活性和健壯性。
??? 網上報名系統用現代化的網絡手段實現了報考工作,方便了考生報名,減少了考生數據出錯幾率,考生可登錄網站直接輸入報名表信息,并可隨時查詢和修改個人信息。同時,系統也降低了各級考試招生部門的工作量,提高了工作效率,招辦可登錄網站對考生數據進行統一管理,對高考報名全過程實現動態實時監控。系統功能模型如圖3所示。

?

??? (1)報名管理模塊:分為考生信息數據采集模塊和現場確認模塊。考生信息數據采集模塊的使用者是考生,考生登錄網站后,修改密碼,填寫個人簡歷和家庭關系及報考科目信息。在報名期限內,考生可多次登錄網站查詢并修改自己的信息。現場確認模塊是各報名點(中學)對考生所填信息進行確認,且對考生進行現場攝像,照片會即時上傳至省招辦的數據庫。通過報名管理模塊,基本上保證了考生信息(包括相片)的準確入庫。
??? (2)系統管理模塊:主要實現各級管理員( 省級,市級,縣(區)級)按不同權限靈活方便地管理系統,分配相應用戶權限以及進行一些系統數據處理功能,如用戶管理、數據上報、考生信息檢查、信息的導入/ 導出、日志維護、報名點數據維護等。
??? (3)數據統計模塊:主要實現招辦對各類考生數據的統計分析,如考生人數、各科目報考人數、報考科目組合、考生實時報名和特殊考試類型考生等數據的統計分析。
??? (4)數據打印模塊:主要實現各類報表的打印,如登記表、準考證、考生名冊、體檢表等。
??? 框架能使應用程序的開發簡單,價格低廉,但是開發框架不是一件容易的事。它是一個需要領域和設計經驗的反復過程。設計模式可以簡化這個過程,因為它提供了對過去經驗的抽象。
??? MVC模式本身就是一個非常復雜的系統,所以在采用MVC開發Web應用時, 如果自行建立一個基于MVC 模式的框架, 需要很大的開發成本, 選擇一個現成的MVC框架會帶來事半功倍的效果,Struts框架不失為一個很好的選擇。本文基于Struts框架,實現了符合要求的高考網上報名系統, 系統已成功地應用于廣東省2005、2006年的高考網上報名。
參考文獻
[1] GAMMA E,HELM R,JOHNSON R, et al.Design patterns: elements of reusable object-oriented software[M].Boston:??Addison Wesley, 1995.
[2] ?李秀芳,張福增,賈世祥.軟件復用與Framework框架技術[J].科學技術與工程,2006,6(1):80-83.
[3] ?陳傳波,唐咸峰.領域框架的設計[J].計算機工程與科學,2002,24(6):1-3.
[4] ?閆斐,王亞弟,韓繼紅. 基于Struts架構的J2EE應用軟件的設計與開發[J].微計算機信息,2006,22(30):227-229.
[5] ?官全龍,姚國祥.基于Struts的應用架構的研究[J].計算機工程與設計,2005,26(12):3225-3227.

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲国产精品尤物yw在线观看 | 久久国产欧美精品| 一本一本久久a久久精品综合妖精| 亚洲第一精品久久忘忧草社区| 国产日韩专区| 国产日韩一区二区三区在线播放| 国产精品视频免费观看| 欧美午夜电影在线| 欧美视频二区36p| 欧美日本一区二区高清播放视频| 欧美激情视频免费观看| 欧美激情视频一区二区三区免费| 模特精品裸拍一区| 免费影视亚洲| 欧美大片va欧美在线播放| 欧美成人精品不卡视频在线观看 | 欧美午夜久久久| 欧美天天视频| 国产精品久久久久久久久久三级 | 在线成人激情| …久久精品99久久香蕉国产 | 亚洲欧美bt| 欧美一区二区三区免费视频| 欧美一级在线视频| 久久久久久网| 免费在线观看精品| 欧美精品www在线观看| 欧美日韩日本网| 国产精品成人久久久久| 国产精品女人久久久久久| 国产美女诱惑一区二区| 国产一区香蕉久久| 亚洲成色777777女色窝| 日韩午夜av电影| 亚洲在线免费视频| 久久riav二区三区| 亚洲精品欧美在线| 亚洲一区二区三区四区五区午夜 | 久久福利资源站| 久久久久免费视频| 欧美福利专区| 国产精品青草综合久久久久99| 国产日韩欧美二区| 激情亚洲一区二区三区四区| 亚洲国产成人在线| 亚洲视频电影在线| 欧美在线网站| 99精品国产99久久久久久福利| 亚洲伊人色欲综合网| 久久精品91久久香蕉加勒比| 嫩草伊人久久精品少妇av杨幂| 欧美少妇一区| 激情视频一区| 一个人看的www久久| 欧美在线视频a| 99在线精品视频| 久久成人免费网| 欧美激情综合色| 国产日韩在线看| 亚洲精品一区二区三区av| 羞羞答答国产精品www一本| 亚洲免费观看| 久久精品国产久精国产一老狼 | 日韩天堂av| 久久成人综合视频| 亚洲视频在线观看免费| 久久裸体视频| 国产精品久久久爽爽爽麻豆色哟哟| 好吊日精品视频| 一区二区三区精品久久久| 亚洲二区精品| 欧美一区午夜精品| 欧美久久一级| 黄色资源网久久资源365| 一本色道久久综合| 亚洲国产影院| 久久丁香综合五月国产三级网站| 欧美日韩国产在线一区| 一区二区在线视频播放| 亚洲一区二区在线播放| 亚洲精品综合在线| 久久久久国产精品麻豆ai换脸| 欧美色精品在线视频| 在线日韩av| 久久99在线观看| 午夜精品短视频| 欧美日韩国产在线| 亚洲第一页在线| 久久精品国产欧美激情| 亚洲欧美影院| 欧美日韩中文| 亚洲经典自拍| 亚洲国产精品成人久久综合一区| 午夜精品一区二区三区电影天堂 | 国产精品久久久久av免费| 亚洲欧洲一级| 亚洲激情欧美| 久久综合综合久久综合| 国产麻豆午夜三级精品| 一区二区久久久久久| 99re66热这里只有精品4| 蜜臀久久99精品久久久久久9| 国产视频一区三区| 亚洲资源在线观看| 亚洲免费在线观看| 欧美日韩在线观看视频| 亚洲美女精品成人在线视频| 亚洲欧洲中文日韩久久av乱码| 久久久久在线| 国产一区二区三区成人欧美日韩在线观看 | 一本到高清视频免费精品| 亚洲精品美女在线观看播放| 久久在线视频| 激情一区二区| 亚洲国产精品一区制服丝袜| 久久麻豆一区二区| 狠狠爱综合网| 亚洲高清不卡在线| 麻豆精品视频在线观看视频| 极品少妇一区二区| 亚洲国产成人不卡| 免费观看一级特黄欧美大片| 伊人激情综合| 亚洲人成网站999久久久综合| 欧美不卡高清| 亚洲精品午夜| 亚洲午夜国产一区99re久久| 欧美性一二三区| 亚洲尤物视频在线| 久久国产成人| 禁断一区二区三区在线| 亚洲日本欧美日韩高观看| 欧美激情一区二区三区成人| 亚洲精品免费电影| 亚洲图片在区色| 国产伦精品一区二区三区高清版 | 亚洲国产欧美日韩精品| 欧美高清视频一区| 夜久久久久久| 欧美一区二区性| 伊人成人在线| 一本色道久久88精品综合| 欧美性一二三区| 欧美亚洲一区二区三区| 久久蜜臀精品av| 亚洲精品免费看| 亚洲欧美激情四射在线日| 国产日韩欧美91| 亚洲人成人一区二区三区| 欧美日韩另类国产亚洲欧美一级| 亚洲深夜av| 久久精品最新地址| 亚洲二区在线视频| 亚洲欧美日韩精品久久久| 国产午夜精品视频| 最新日韩在线| 国产精品激情电影| 亚洲高清在线| 欧美三级日本三级少妇99| 性色av一区二区怡红| 免费观看一区| 一区二区免费在线观看| 久久精品伊人| 99国产精品私拍| 久久视频一区| 一区二区免费看| 久久深夜福利| 日韩一区二区福利| 久久久999精品免费| 亚洲精品日韩在线观看| 欧美专区在线播放| 亚洲三级电影在线观看| 久久国产欧美日韩精品| 亚洲毛片av| 久久午夜色播影院免费高清| 亚洲麻豆一区| 老司机午夜精品视频在线观看| 一区二区三区精密机械公司 | 在线观看国产精品网站| 亚洲女人天堂av| 亚洲丶国产丶欧美一区二区三区| 亚洲综合色视频| 136国产福利精品导航网址| 欧美一区二区视频免费观看| 亚洲精品欧美专区| 久久在线91| 亚洲一区二区日本| 欧美精品在线视频| 欧美一区二区三区免费大片| 欧美视频一区二| 91久久亚洲| 国内精品视频666| 亚洲欧美日韩一区二区在线| 亚洲欧洲一区二区天堂久久| 久久国产黑丝| 一本到高清视频免费精品| 欧美不卡高清| 久久av一区二区三区| 国产精品乱子乱xxxx| 99国产精品久久久久老师|