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

基于Struts技術的畢業設計管理系統的設計與實現

2008-12-31 00:00:00賀丹丹
電腦知識與技術 2008年29期

摘要:該文分析了傳統Web信息系統的缺點,詳細闡述了MVC設計模式思想,剖析了當前被廣泛應用的開源設計框架:Struts和Hibernate的工作原理,提出將二者結合起來實現優勢互補共同開發管理系統的思路,實現了具有良好可擴展性、實用性和可維護性的畢業設計管理系統。

關鍵詞:畢業設計管理系統;MVC;Struts;Hibernate

中圖分類號:TP311 文獻標識碼:B文章編號:1009-3044(2008)29-0283-03

Design and Implementation of Graduate Design System Based on Struts Technology

YIN Zhe, HE Dan-dan

(China Institute of Defense Science and Technology,Beijing 101601,China)

Abstract: This paper analyzed the shortage of traditional web information system,expatiate the thought of MVC model,anatomy the opening source design framework often used: Struts and Hibernate.Bring forward a idea that designing the management system with them each other yet. Carry out an outspread practicable and maintainability graduate design management system.

Key words: graduate design management system; MVC; Struts; Hibernate

1 引言

隨著Internet技術的飛速發展,Web信息系統被廣泛應用。目前很多高校畢業設計管理系統都是基于Web應用的管理系統。隨著時間的推移,傳統的Web信息系統暴露了很多問題,如頁面邏輯、業務邏輯和數據邏輯雜糅在一起,系統的耦合性高,修改、維護困難,擴展性差。為克服以上問題,新的開發方法也不斷被提出來,如軟件分層思想,MVC設計模式等等。

本文就如何構建弱耦合性,可維護和可擴展的畢業設計管理系統等問題展開探討。根據當前Web技術的發展,提出了采用Java環境下實現MVC設計模式的Struts框架和實現數據持久化的Hibernate框架結合起來開發畢業設計管理系統,提高系統的實用性、靈活性,克服傳統Web系統的缺點。

2MVC設計模式和開源框架

2.1 MVC設計模式

MVC設計模式是一種著名的用戶界面軟件開發設計模式,它是模型-視圖-控制器(Model-View-Controller)縮寫。

MVC設計模式最早由Xerox在20世紀八十年代為Smaltalk-80語言發展提出的,但是這種設計思想并沒有局限于該語言,而是被廣泛地應用到了其他面向對象的編程語言中。

在MVC設計模式中,它把應用程序分成了3個核心部分,原理圖如圖1所示。

2.1.1 模型(Model)

模型封裝了用戶數據和處理數據的業務邏輯,體現了應用程序的當前狀態,而且可以將用戶數據狀態的變化提供給多個顯示該數據的視圖共用。模型是應用程序的核心。

2.1.2 視圖(View)

視圖提供了用戶界面,是用戶和應用程序的交互的窗口,既接受用戶輸入,也把模型數據狀態顯示給用戶,但是視圖不負責任何業務邏輯處理,僅僅是將用戶輸入數據傳遞給控制器或將模型數據顯示給用戶。

2.1.3 控制器(Controller)

控制器連接了模型和視圖,根據用戶請求判斷將請求交給哪個模型來完成,然后調用視圖來顯示模型處理后的用戶請求結果。

MVC設計模式將應用程序進行了分層,視圖和模型通過控制器連接,從而減少了用戶界面和業務邏輯之間的耦合,使程序設計更加清晰、靈活,也提高了軟件的可擴展性、可維護性。

2.2 Struts框架

Struts框架是Apache開源軟件聯盟(www.apache.org)的一個開源項目——Jakarta Struts Framework。Struts框架繼承了MVC設計模式的特性,遵守了J2EE的Servlet、JSP等技術規范,并且根據J2EE的特點做了相應的變化和擴展,是J2EE體系架構的一種輕量級實現。作為一款優秀的Java Web應用程序的開發框架,Struts框架憑借其清晰性、靈活性,成為當前最為廣泛應用的輕量級Java Web 開發框架。

Struts框架實現了MVC設計模式,其工作原理圖如圖2所示。

2.2.1 控制器的實現

Struts框架中采用了ActionServlet和Action類以及Struts-config.xml配置文件作為控制器的實現。

其中,Struts-config.xml配置文件配置了不同用戶請求及對應的具體業務邏輯組件來供ActionServlet類查詢。

ActionServlet類是中心Servlet,負責處理所有的用戶請求。當用戶提出請求,ActionServlet類最先對請求進行處理,它將根據Struts-config.xml配置文件將用戶請求映射到具體的Action類;而當Action類調用模型組件處理好用戶請求,并返回了處理結果后,仍然由ActionServlet類根據Struts-config.xml配置文件將結果轉發到視圖提供給用戶,或者轉發另外一個Action做進一步處理。

Action類實現了具體的業務邏輯,它接受用戶的輸入,然后調用具體的模型組件來完成用戶請求。

2.2.2 視圖的實現

Struts構架主要采用了JSP作為視圖的實現,它提供了豐富的JSP標簽庫支持應用程序的開發,而且引入了ActionForm組件(實質為JavaBean)作為用戶表單的封裝來完成數據的傳輸。

2.2.3 模型的實現

Struts框架對模型——即復雜的數據持久化層沒有提供太多的支持,但是這也就是說開發人員有更多自由來選擇合適量級的持久化技術,比如Hibernate、EJB等等。

Struts框架實現了MVC設計模式,但是它是典型的表現層框架,對模型的實現是不足的,所以有必要引入其他架構加強對模型的實現。

2.3 Hibenate框架

Hibernate框架是開放源代碼的對象關系映射工具(Object-Relational Mapping),是一款基于Java環境的優秀的對象持久化開發框架。它根據O/R(對象/關系)映射技術思想,對JDBC進行了輕量級封裝,使開發人員可以使用一種面向對象的方式來操縱和管理關系數據庫,所以從技術本質上來說該框架是一種提供面向對象的數據庫服務中間件。

Hibernate框架位于應用程序的業務化和持久化層,在運行時的體系結構如圖3所示。

SessionFactory接口,是一個數據庫映射關系的內存映像,它是線程安全的,所以可以為多個線程同時調用產生Session,是Session的工廠,另外它為事務之間可以重用的數據提供了可供選擇的二級緩存。

Session接口,是Hibernate框架的運行中心,它被用戶程序調用,提供與持久化相關的諸多操作,如加載、添加、查詢、更新和刪除持久化對象,是實現用戶程序持久化工作的主要接口,所以Session被稱為持久化管理器。

Transaction接口,是用來指定原子操作的單元范圍,它通過對底層具體的JDBC、JTA等事務進行封裝和抽象,形成一個統一的事務操作界面。

此外,Hibernate還有兩個重要的核心接口:Configuration接口和Query和Criteria接口。Configuration接口是用來對Hibernate配置和啟動。Query和Criteria接口是用來執行對數據庫的查詢,且支持HQL、SQL多種查詢方式,其中HQL是一種面向對象的查詢語言。

3 畢業設計管理系統

畢業設計管理系統是基于本科生畢業論文管理系統。主要包括用戶管理模塊,新聞發布模塊,論文出題選題模塊,論文成績發布系統等模塊。

3.1 系統的體系機構設計

根據前面介紹可以看到Hibenate架構只具備數據持久化設計能力,而Struts架構則在模型設計方面能力薄弱,所以將二者結合起來使用,共同搭建系統結構實現MVC模型設計,可以達到二者優勢互補,從而使系統設計具備低耦合性以及較高的可維護性和可擴展性。本系統的體系結構設計如圖4所示。

本系統具有多個模塊,但是各個模塊的設計原理相同,其中用戶登錄模塊典型地利用了Struts框架和Hibernate框架的設計,體現了兩種架構結合的特點,下面以此實現為代表進行具體闡述。

3.2 用戶登陸模塊設計

用戶登錄模塊,即用戶從瀏覽器輸入個人信息,由系統在數據庫中檢索數據,然后驗證用戶信息,如果驗證成功登陸到系統界面,否則,提示用戶信息出錯。

3.2.1 創建視圖組件

在Struts框架中,視圖組件負責顯示給用戶的內容。在本系統中,視圖組件由幾個JSP文件組成。他們用于接受用戶輸入的信息,并且顯示運行的結果。

負責接受用戶輸入信息的JSP文件是userLogin.jsp,其顯示效果如圖5所示:

3.2.2 創建模型組件

模型是應用程序的主體,它用于表示業務數據的業務邏輯。一個模型可以同時為多個視圖提供數據,從而提高了代碼的可重用性,相當于一個數據庫應用,用數據庫來存儲應用狀態。在Struts中它不是主要功能。

3.2.3 創建控制器組件

本系統中創建控制器組件主要通過在struts-config.xml文件中創建Action以及與各個jsp文件之間的關系來實現的,可以通過圖形化界面實現,如圖6所示:

其主要源代碼如下:

attribute=\"userLoginForm\"

input=\"/userLogin.jsp\"

name=\"userLoginForm\"

path=\"/userLogin\"

scope=\"request\"

type=\"com.gdms.struts.action.UserLoginAction\">

name=\"adminSuccess\"

path=\"/admin.jsp\"

contextRelative=\"true\" />

name=\"fail\"

path=\"/userLogin.jsp\"

redirect=\"true\" />

4 結束語

本文介紹了MVC設計模式以及Struts和Hibernate框架的工作原理,利用了他們的優點互補,有機地將Struts+Hibernate框架結合起來構建了一個畢業設計管理系統,克服了傳統Web信息系統的缺點,提高了系統的可維護性、可擴展性,降低了系統地耦合性。

參考文獻:

[1] 邵騰,曲利芹.基于Struts和Hibernate的發布系統研究[J].計算機與信息技術,2006(10):128-131.

[2] 戎偉,張雙.精通Struts-Java流行服務器、框架、工具及整合應用[M].北京:人民郵電出版社,2006.

[3] 張桂元,賈燕楓.Struts開發入門與項目實踐[M].北京:人民郵電出版社,2005:33-39.

[4] 計磊,李里,周偉.精通J2EE-Eclipse、Struts、Hibernate、Spring整合應用案例.[M].北京:人民郵電出版社,2006:15-22.

主站蜘蛛池模板: 91成人免费观看在线观看| 免费高清毛片| 国产成人高清精品免费软件| 性欧美精品xxxx| 欧美啪啪视频免码| 久久这里只有精品23| 国产精品吹潮在线观看中文| 久久九九热视频| 一本大道香蕉中文日本不卡高清二区| 亚洲第一区在线| 天天视频在线91频| AV在线麻免费观看网站| 不卡视频国产| 亚洲综合18p| 亚洲 欧美 中文 AⅤ在线视频| 免费毛片视频| 欧美天堂在线| 国产成人高清在线精品| 国产精品欧美激情| 嫩草在线视频| 欧美性精品| 成年女人18毛片毛片免费| 免费jjzz在在线播放国产| 婷婷色丁香综合激情| 国产后式a一视频| 五月丁香伊人啪啪手机免费观看| 国产精品手机视频| 国产嫖妓91东北老熟女久久一| 91毛片网| 制服丝袜无码每日更新| 精品无码一区二区三区在线视频| 欧美精品一区二区三区中文字幕| 久久国产乱子| 免费观看国产小粉嫩喷水| 亚洲av无码专区久久蜜芽| 亚洲91在线精品| 制服丝袜 91视频| 中文无码精品A∨在线观看不卡| 激情综合婷婷丁香五月尤物| 国产又爽又黄无遮挡免费观看 | 久久久久中文字幕精品视频| 国产精品lululu在线观看| 香蕉久久国产精品免| 久久永久免费人妻精品| 亚洲综合第一区| 五月婷婷精品| 成人午夜视频网站| 国产亚洲视频免费播放| 在线亚洲精品福利网址导航| 国产精品yjizz视频网一二区| 爱色欧美亚洲综合图区| 国产福利一区二区在线观看| 欧美区一区| 午夜精品一区二区蜜桃| 免费国产黄线在线观看| 美女无遮挡拍拍拍免费视频| 少妇精品网站| 91午夜福利在线观看精品| 亚洲国产天堂久久九九九| 黄色网页在线观看| 97精品国产高清久久久久蜜芽| 国产精品99久久久久久董美香| 亚洲一级毛片免费观看| 色亚洲成人| 69国产精品视频免费| 欧美日韩国产精品va| 精品人妻无码中字系列| 日本伊人色综合网| 久久国语对白| 色婷婷综合激情视频免费看| 欧美a√在线| 国产欧美高清| 免费毛片全部不收费的| 亚洲无码精彩视频在线观看 | 色噜噜在线观看| 亚洲婷婷丁香| a级毛片网| 日本免费福利视频| 久久国产精品嫖妓| 欧美一级高清免费a| 一级毛片网| 一级黄色片网|