摘要:該文研究了Structs+Hibernate框架技術,介紹了網絡教學平臺的主要功能模塊,并運用Java技術實現了教學平臺的開發。運行結果表明,該系統具有良好的性能和擴展性,較高的響應速度和效率,能夠幫助老師提高教學質量和教學效率,增加學生興趣,從而提高學生的成績。
關鍵詞:網絡教學平臺;Hibernate; Structs; B/S
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2010)21-5670-02
Design and Implementation of Network Instructional Platform of Based on Struts Framework
YANG Ming-xing
(Hefei University, Department of Computer Science and Technology, Hefei 230601, China)
Abstract: The paperresearchedStructs+Hibernate framework technologies. the primary function modules of network instructional platform were introduced. the system was carried out using Java technologies The test results show that the system has good performance and scalability, high response rate and efficiency and it helps teachers to improve the quality of teaching and teaching efficiency, stimulate students’ interests and finally enhance their achievement.
Key words: network instructional platform; hibernate; structs; B/S
隨著計算機技術的快速發展及網絡的迅速普及,網絡已經成為人類日常生活工作和學習的重要組成部分,其應用范圍越來越廣泛,在教學和科研等領域也正發揮著重要作用。傳統的教學模式下,老師和學生的教與學往往受到空間和時間的限制,老師和學生要同時在教室,老師才能引導學生進行問題討論和對學生疑惑進行解答。對于檢查教學的必要手段,作業和考試往往是紙張的形式,給老師和學生都來很多不便。這些都嚴重影響老師的教學效率。本文基于Structs和Hibernate技術,在MyEclipse作為開發工具下,成功實現了網絡教學平臺。
1 Structs+Hibernate技術特點
Struts是實現的一個MVC框架,在Struts框架中,模型由實現業務邏輯的JavaBean或EJB組件構成,控制器由ActionServlet和Action來實現,視圖由一組JSP文件構成。Struts實現的MVC框架及其的工作原理如圖1所示。
引入Hibernate技術來對數據庫進行操作, Hibernate是一個TDO工具。它是通過文件把值對象和數據庫表之間建立起一個映射關系,我們只需對值對象和 Hibernate提供的一些基本類進行操作,就可訪問數據庫。Hibernate提供的HQL是一種類SQL語言,它和EJBQL一樣都是提供對象化的數據庫查詢方式, HQL的功能和使用方式都非常接近于標準的SQL。由于 Hibernate把值對象和數據庫表之間建立起了一個映射關系,在編程過程中可完全不考慮底層的數據庫類型是Oracle還是Mysql或是其他的數據庫,只需要向對待對象一樣對待數據庫。如對數據庫的查詢,可直接返回包含某個值對象的列表(List),大大提高了編碼效率。Struts+Hibernate框架結構如圖2所示。
2 網絡教學平臺系統設計
2.1 系統結構設計
通過需求分析,系統將分為以下幾個功能模塊。
1) 管理員子系統:管理員系統是面向管理員用戶,管理員可以對其他用戶的信息進行編輯。
2) 教師子系統:
① 試卷管理:教師通過系統提供的操作界面完成試卷名稱及試卷題目的增加,修改,刪除,并存入數據庫。
② 課程設計管理:教師通過系統提供的操作界面完成課程設計名稱和題目增加,修改,刪除,并存入數據庫。
③ 作業管理:教師通過系統提供的操作界面完成作業的發布,學生作業下載,答案上傳,和相應評語,并存入數據庫。
④ 討論模塊:教師通過系統提供的操作界面完成發表討論問題,引導學生談論,發表的信息存入數據庫,進入公共聊天室可以自由討論。
3) 學生子系統:
① 在先考試:學生可以在登錄后,對老師出的考試卷進行在先自測,提交后分上馬上出來。課程設計選題:學生可以在登錄后,先瀏覽所有的題目和相應內容,然后進行選題。
② 作業管理:學生可以在登錄后,查看老師出的作業并把答案上傳,可以下載老師的正確批改并查看評語。
③ 討論模塊:對于在課堂上不明白的部分,可以以論壇的形似進行討論,也可以在先進行實時的交流,來解決問題,共同進步。
4) 公共功能:公共功能有些對于用戶是不可見的,它為各個功能模塊提供基礎的服務,包括身份認證、權限控制、數據庫連接;有些是所有用戶均要操作的,包括登陸、退出系統。
網絡教學平臺功能結構圖如圖3所示。
3 關鍵技術的實現
下面以登陸模塊為例,闡述網絡教學平臺的模塊實現過程,因不同身份的用戶有不同的權限。輸入用戶名和密碼,系統首先判斷用戶的合法性,再判斷用戶的身份。為實現該功能引用一個變量來標志用戶身份,該變量和數據庫表中的相應用戶表的字段進行比較。當數據匹配時則進入相應的操作頁面,否則提示錯誤,重新輸入用戶名和密碼。從而驗證用戶的合法性。該模塊中的FormBean是Struts架構的一個重要組成部分,它將會捕獲到用戶在客戶端發送的Http請求,并存儲起來,以備相應的Action類使用。其邏輯圖如圖4所示。
FormBean的實現如下:
public class UserFormextendscn.hxex.exam.form.BaseForm implements java.io.Serializable{
protected java.lang.String name;//用戶帳號
protected java.lang.String password;//用戶密碼
protected java.lang.String identity;}//用戶身份
登錄驗證模塊需要一個Action類來進行驗證和跳轉功能,這是Struts架構的一個重要組成部分,它會從匹配的FormBean中取出用戶提交的登錄信息,并執行校驗數據的操作,從數據庫中讀寫數據使用的是Hibernate 。
Action的實現如下:
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
public class LogonAction extends BaseAction{
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException }
如,當管理員登錄時,輸入用戶名和密碼,選擇用戶類型為管理員,則變量identity保存的值為admin,然后根據用戶名和密碼與數據庫中的admin表中的數據進行比對,驗證數據正確時則跳轉到管理員操作頁面,完成管理員的各種功能,錯誤時給出提示信息。主要代碼如下:
checked=\"checked\" />//學生""
//教師
//管理員
登錄界面圖、管理員界面如圖5、圖6所示。
4 結束語
通過將Struts 和Hibernate 這兩個框架的結合,充分發揮了各自的優點, 簡化程序代碼,有效地縮短了系統開發周期 ,提高編程效率,實現了用戶界面、業務處理和數據訪問的分離。該系統已在系部投入使用,老師可以通過該平臺進行試卷管理,作業管理,課程設計選題管理,對學生發布到網上的問題進行答疑及與在線的同學進行實時的交流。提高學生自主學習的效率,學生反應良好。
參考文獻:
[1] 陳旭東,劉迪仁.Hibernate項目開發寶典[M].北京:電子工業出版社,2006.
[2] Ted Husted.實戰Structs[M].黃若波,程峰,程繁科,譯.北京:機械工業出版社,2005.
[3] 史濟民.軟件工程[M].北京:高等教育出版社,2002.
[4] 李宇宏.管理信息系統原理及解決方案[M].北京:電子工業出版社,1999.
[5] 胡飛,躍彭楚.武基于MVC模型及Struts框架的遠程教學系統[J].科學技術與工程,2006(7):1947-1949.
[6] 張靜,姜健,王海洋.基于工作流和Struts的Web應用開發模式[J].計算機應用研究,2005(4).
[7] 陳籌,林映遂.J2EE技術在構建遠程教學系統中的應用研究[J].計算機應用研究,2006(11).
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文