Spring+SpringMVC+MyBatis+Bootstrap+Vue開發在線學習系統
本課題的主要內容是開發基於Java EE的在線學習平臺,使用MVC經典開發模式、Java EE的框架 SSM(Spring+SpringMVC+Mybatis)等相關技術開發網站系統。
使用的開發環境是以MyEclipse爲開發環境,採用Tomcat服務器作爲Web應用容器,並應用MySQL爲系統的數據庫管理。
在MVC模式中,應用程序被劃分成了模型(Model)、視圖(View)和控制器(Controller)三個部分。其中,模型部分包含了應用程序的業務邏輯和業務數據;視圖部分封裝了應用程序的輸出形式,也就是通常所說的頁面或者是界面;而控制器部分負責協調模型和視圖,根據用戶請求來選擇要調用哪個模型來處理業務,以及最終由哪個視圖爲用戶做出應答。
模型層(Model)主要完成業務的邏輯處理以及數據的存儲。包括業務流程、狀態處理及業務規則的處理。業務邏輯接收視圖層的請求數據,並返回最終的處理結果。數據模型是實體對象的數據保存,實現了視圖層和模型層之間的交互。視圖層(View)主要是進行用戶和系統的交互,展示用戶 所需要的 數據,主要是界面,包括輸入和輸出。一般可採用JSP、HTML頁面、XML等技術實現。一個應用程序可以有很多不同的應用視圖,MVC模式只進行視圖上數據的採集及處理,及用戶的請求,而不在視圖上進行業務流程的處理,而是由模型層來處理這些業務流程及狀態的改變。
系統是使用到以下的核心Java EE技術。
1)Spring
Spring是一個開源框架,Spring是於2003 年興起的一個輕量級的Java 開發框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中闡述的部分理念和原型衍生而來。它是爲了解決企業應用開發的複雜性而創建的。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限於服務器端的開發。從簡單性、可測試性和鬆耦合的角度而言,任何Java應用都可以從Spring中受益。 簡單來說,Spring是一個輕量級的控制反轉(IoC)和麪向切面(AOP)的容器框架。
2)Spring MVC
Spring MVC屬於SpringFrameWork的後續產品,已經融合在Spring Web Flow裏面。Spring MVC 分離了控制器、模型對象、分派器以及處理程序對象的角色,這種分離讓它們更容易進行定製。
3)MyBatis
MyBatis是一個基於Java的持久層框架。iBATIS提供的持久層框架包括SQL Maps和Data Access Objects(DAO)MyBatis 消除了幾乎所有的JDBC代碼和參數的手工設置以及結果集的檢索。MyBatis 使用簡單的 XML或註解用於配置和原始映射,將接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java對象)映射成數據庫中的記錄。
項目運行說明書:
Eclipse,MyEclipse,IDEA開發工具都可快速導入啓動!!
論文章節結構:
部分內容節選:
在線學習平臺主要分爲三大功能模塊:系統管理員模塊、教師模塊和學生模塊。如圖2-1所示。
圖2-1 系統功能概述
1、管理員模塊:每一個應用系統都需要這樣的一個角色,它能保證系統能夠在動態中穩定運行,管理系統各種配置屬性,即擁護最高的權限。具體功能如下:
學院管理:對學院這個實體進行添加、刪除、查詢、修改等操作。
課程管理:對課程這個實體進行添加、刪除、查詢、修改等操作。課程應該歸屬指定的學院。
教師管理:對教師信息進行管理,包括添加、刪除、查詢、修改。同時可以通過excel表格批量導入教師信息。
學生管理:對學生信息進行管理,包括添加、刪除、查詢、修改。同時可以通過excel表格批量導入學生信息。
課程資料管理:對教師上傳的課程視頻、文檔進行管理。
考試管理:可以對教師發佈的考試進行管理。
論壇管理:對師生之間的討論信息進行管理。
公告管理:對在線學習平臺的全局公告進行管理。
3.1.1 系統類圖設計
從在線學習平臺的需求分析中大致可以分析出一些類,但是還不能全面的分析出系統中的實體類。考慮著名的MVC模式,我們需要識別實體、控制和邊界三種對象。按照MVC模式來爲識別對象做指導,是非常好的做法。對象識別的結果,就是我們所需要的靜態模型,通常表現爲類圖。這個過程使用UML建模技術,將系統中的類結構描繪出來。
首先識別出實體對象,這些對象是比較容易看出來的,例如系統中的角色(管理員、教師、學生)。根據現實世界,角色應該有姓名、性別、電話號碼、身份證等屬性。系統角色類圖如圖3-1所示。
在線學習平臺中的學院、課程、課件等實體類。其中課程應該歸屬某一個學院的,並且課件的應該是屬於某一個課程,由教師上傳。課件可以由學生登錄平臺進行在線觀看和下載,其中path字段存儲文件的路徑。其類圖如圖3-2所示: 除了上面這些實體類,還有一些通知類。系統公告,是所有的登錄用戶都可以看到的。教師可以發佈課程的問題讓學生參與其中討論,這樣就需要一個討論的實體類discuss。有些實體對象需要稍微分析一下才能得到,例如,在在線學習平臺中,爲了記錄學生對教師發佈的討論進行回覆,這時就需要一個對象來專門記錄這一信息(Discuss_post實體)。其類圖如圖3-3所示:
在線學習平臺還有一個在線測試的功能,教師發佈考試並且添加試題同時給出試題的正確答案。學生登錄系統後,可以在線完成測試,系統自動給該生打分。這樣一個功能的完成,需要的實體類有task(考試)、task_question(試題詳細)、student_task(學生成績)。其類圖如圖3-4所示:
系統文件介紹
項目結構
部分功能演示:
圖5-12 考試信息列表
圖5-13 試題信息
項目開發技術路線1 | Spring+Spring MVC +MyBatis+JSP |
項目開發技術路線2 |
Spring+Spring MVC+MyBatis+Vue |