摘要:Struts框架與Hibernate框架是當前web開發的兩大主流技術,采用這兩大技術的五層架構體系具有很好的可維護性與可擴展性。以論文匹配系統開發過程為例,研究了使用Struts與Hibernate實現小型管理系統的方法,做為開發類似小型系統實例。
關鍵詞:Struts;Hibernate;論文匹配系統;MVC模式;web應用
中圖分類號:TP311文獻標識碼:A 文章編號:1009-3044(2009)33-9246-02
Research of Paper Matching System Based on Struts and Hibernate Framework
CHAI Dong1, ZHONG Liang-wei1,2, FAN Wen-gui1
(1.Business School, University of Shanghai for Science and Technology, Shanghai 200093; 2.CAD Center, University of Shanghai for Science and Technology, Shanghai 200093)
Abstract: Struts framework and Hibernate framework are the mainly techniques for web development, the 5 tier architecture use these two techniques have high maintainability and high scalability. Through a example of paper matching system, introduces the method of realizing management system using these two techniques and provides a example for other small system development.
Key words: struts; hibernate; paper matching system; MVC model; web application
隨著web技術的快速發展,社會的信息化建設也越來越重要,而在學校各個方面的管理也都要求利用web技術來提高管理效率,論文匹配系統就是在這個基礎上提出來的。論文匹配系統屬于學校管理信息系統的一個重要組成部分,現在高校中學生與教師課題之間不能有效匹配,最后導致學生的研究方向與教師的課題不一致,有些課題得不到有效的研究而拖延了項目進度。系統可以讓所有的學生與老師之間達到一種雙向選擇來完成課題研究,達到了論文題目與學生研究方向的最佳匹配。
1 系統設計
1.1 系統的結構
系統采用B/S結構,即Browser/Server(瀏覽器/服務器)結構,B/S結構的產品只需要管理服務器就可以,所有的客戶端都是瀏覽器,不需要做任何的維護,這符合該系統為學校服務的特點。學生和教師之間可以在開學之前通過Internet在任何地點完成論文題目的上傳與匹配工作。所以該系統采用B/S結構是符合實際需求的。
1.2 系統的功能模塊
根據學校提出的實際需求,該系統包括4個功能模塊。
1) 用戶信息管理模塊。實現對所有使用該系統的用戶信息基本信息進行管理,包括登錄密碼,角色,等的管理。
2) 論文題目管理模塊。實現教師對論文詳細要求的上傳,學生查詢論文題目,以及下載感興趣的論文詳細資料。
3) 論文匹配模塊。該功能是本系統的核心管理模塊,學生可以通過這個模塊選擇多個志愿,教師可以通過這個模塊來選擇完成他的課題的學生,最后如果有未匹配成功的課題與學生,則由管理員進行隨機匹配。
4) 系統管理模塊。該模塊對系統整體的使用流程進行管理,包括功能開發時間,數據維護等的管理。
1.3 論文的匹配原理
系統的匹配原理是該系統的核心功能部分,我們根據幾個原則來完成該系統的最佳匹配,對于每一個匹配要考慮到各項因素,這些元素在論文匹配的不同時段所占的權重不同。
該系統分別分為三個時段,第一,二時段是自由匹配時段,教師將所以得課題發布到網上,所以得學生可以自由選擇,第二時段與第一時段相同但是匹配成功的課題與學生在第二時段不參與匹配,第三時段是強制匹配階段,所有沒有匹配成功的學生與論文由系統根據最優模型進行自動匹配。以下幾個因素為我們要考慮的匹配因素。
1) 志愿選擇情況:每個學生可以選擇三個志愿,分別為一、二、三志愿。志愿的選擇在第一與第二時段占有最高的權重,在志愿相同的情況下,考慮學生的成績基點,在基點相同的情況下考慮研究方向。
2) 學生的成績基點:學生的成績基點代表學生在校期間的成績綜合評定,在志愿相同的情況下基點高的同學優先選擇。
3) 學生的研究方向:代表學生的研究興趣,在前兩個因素相同的情況下學生的研究方向為考慮的第三個因素。
4) 課題的難易程度:在第三時段強制匹配階段課題的難易程度,與學生的成績基點成為考慮匹配的主要因素。最難的課題與基點最高的學生進行匹配,圖1分別為各個時段的論文最佳匹配模型。
其中志愿的選擇具有最高的權重,成績基點。
2 基于MVC的Struts框架與Hibernate
2.1 MVC
MVC是Model-VIEW-Controller的簡稱,它是一種設計模式,MVC能夠實現Web系統的職能分工。模型(Model)的職責是處理業務流程制定業務規則,他接受視圖的數據然后返回結果,視圖層不用考慮模型的具體實現過程。視圖(View)的職責是與用戶進行交互。控制器(Controller)的職責就是選擇合適的視圖與模型完成不同的業務請求。這種強制性的分工降低了系統各個部分的耦合程度,提高了系統的擴展性與維護性,由于MVC模式的各種優點,在業界已經受到了越來越多的人的歡迎。但是MVC的設計實現并不十分容易,理解起來比較容易,但對開發人員的要求比較高。MVC只是一種基本的設計思想,還需要詳細的設計規劃。所以出現了很多開源的MVC框架。
2.2 Struts框架
Struts是在JSP Model2的基礎上實現的一個開源的MVC框架,圖2顯示了Struts是怎么現MVC模式的。
1) 模型(Model)一般是由JavaBean或者EJB組成。模型是應用中重要的一部分,它包含了業務實體和業務規則,負責訪問和更新持久化數據。應該把所有的模型組件放在系統中的同一個位置,這樣利于維護數據和完整性,提高可重用性。模型和視圖以及控制器之間保持獨立,在分層框架結構中。位于上層的視圖和控制器依賴于下層的模型的實現,而下層的模型不應該依賴于上層的視圖在控制器的實現。
2) 視圖(View)視圖只要由JSP組成還包括HTML文檔,JSP客戶化標簽,JavaScript,多媒體文件,消息文件,ActionForm Bean等。它主要為用戶提供交互接口。
3) 控制器(Controller)包括:ActionServlet組件充當Struts框架的中央控制器,RequestProcessor組件充當每個子應用模塊的請求處理器,Action組件:負責處理一項具體的業務。
2.3 Hibernate技術
Hibernate是連接Java應用程序和關系數據庫的中間件,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數據庫。Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應用中使用,因此將Hibernate與Struts搭配使用是一種合理的選擇。
3 系統實現
3.1 系統開發環境
該系統采用Eclipse為開發工具,sql server2000作為數據庫服務器,tomcat 5.0做為服務器。
3.2 系統各部分實現
1) 視圖組件實現:視圖組件是與用戶交互的主要接口,主要包括登陸,信息修改,選題,上傳,現實論題等功能給不同的用戶。視圖不處理任何的業務邏輯,全部由標簽組成以下為上傳部分的代碼。
2) 控制組件的實現:實現控制組件的控制功能,除了要實現對控制器本身功能的要求之外,要使控制器能與其它組件搭配使用還要配置兩重要的文件分別是web.xml文件與struts-config.xml文件。
3) Hibernate實現:首先配置Hibernate的配置文件hibernate.cfg.xml.然后創建持久化類,然后創建對象關系映射文件,建立數據庫表與對象之間的映射關系。
4 總結
在信息化高度發展的今天,快速的開發出符合實際需求與高質量的管理信息系統已經是管理學校各種事物的一種迫切的要求,來達到降低學校管理成本的目的。正是出于這樣的原因在開發各種系統的時候我們首先考慮使用各種比較成熟的技術來達到自己的目的,不但降低了學校的管理成本,而且降低了開發成本與以后的維護成本,這兩個框架結合起來充分發揮了兩者的優點適用于面向對象的設計與開發。
參考文獻:
[1] 孫衛琴.精通Struts:基于MVC的JavaWeb設計與開發[M].北京:電子工業出版社,2004.
[2] 飛思科技產品研發中心.JSP 應用開發詳解[M].2版.北京:電子工業出版社,2004.
[3] 王國輝,馬文強.Hibernate應用開發完全手冊[M].北京:人民郵電出版社,2007.
[4] 方巍,孫涌,張書奎.整合Struts和Hibernate的Web系統應用[J].計算機與現代化,2005(12):39-41.
[5] 王文龍,王武魁.利用java語言實現文件上傳功能[J].軟件時空,2007,11(3):169-171.