涂振宇
摘要:平臺包括以下功能模塊:學生學習模塊,教師教學模塊,后臺管理模塊和論壇模塊。后臺管理模塊實現了管理員登錄、管理員對學生信息管理、對教師信息管理、對校園公告管理、對課程分類管理、密碼修改和退出系統(tǒng)等功能。教師模塊實現了教師登錄、發(fā)布課程、管理課程、上傳課程視頻、上傳課程資料,修改密碼和退出系統(tǒng)等功能。學生模塊實現了學生登錄、學生在線學習、查詢課程、下載課程資料、學生修改密碼和退出系統(tǒng)等功能。
關鍵詞:教學;SSH框架;MVC
中圖分類號:TP3 文獻標識碼:A 文章編號:1009-3044(2018)19-0099-03
Abstract: The platform includes the following functional modules: student learning module, teacher teaching module, background management module and forum module. Background management module to achieve the administrator login, the administrator of the student information management, teacher information management, campus news management, curriculum classification management, password modification and exit system and other functions. The teacher module enables teachers to log in, publish courses, manage courses, add course content, upload course videos, upload course materials, change passwords and exit systems. Student module to achieve the student login, student online learning, query courses, download course materials, students change the password and exit the system and other functions.
Key words: teaching; SSH framework; MVC
1 前言
隨著信息技術的飛速發(fā)展,網絡已經逐漸滲入到各個領域當中,給傳統(tǒng)的教學方式帶來了很大的影響。網絡教學可以以學生為主導,學習不受時空條件的限制,學生可以在任意擁有網絡的地方進行學習,對學生學習能夠起到有效的輔導作用,減輕老師的教學負擔,受到了國內外許多高校的追捧。
2 系統(tǒng)概述
在本文設計實現的教學平臺中,用戶可以以游客身份瀏覽網站中的教學資源,校園公告,論壇言論,如果想要下載學習資料,那么這個用戶需要在網站上登錄,然后找的相關課程資料進行下載。學生還可以在課程留言板中以留言方式與老師交流,教師用戶可以上傳自己課程的教學視頻及教學資料,對課程及課程視頻和課程資料進行添加、修改、刪除,還可以查看學生留言。本教學平臺的管理員能夠對學生及教師用戶進行管理,也能對論壇的言論進行屏蔽或刪除管理,可以對課程進行分類管理,在分類上設置兩個學科目錄,例如,微積分屬于數學類下的高等數學類,這里的數學是一級學科目錄,高等數學是二級學科目錄,微積分屬于課程。除此以外,管理員應還可以操作課程的狀態(tài),把課程設置為推薦狀態(tài)或者普通狀態(tài),推薦狀態(tài)的課程可以優(yōu)先顯示。該系統(tǒng)由管理員模塊、學生學習模塊、老師教學模塊、學習論壇模塊等四個模塊構成。平臺功能結構如圖1所示。
管理員模塊,包括修改密碼、老師信息管理、學生信息管理、系統(tǒng)公告和課程分類管理等功能,本模塊主要是后臺管理模塊。
老師教學模塊,包括個人信息管理資料、教學資料管理、上傳教學資料、發(fā)布課程、上傳課程視頻等功能。
學生學習模塊,包括個人信息管理、查找課程、播放教學視頻、資料下載、課程留言、論壇互動等功能。
學習論壇模塊,包括發(fā)帖,刪帖,帖子分類等功能。
3 系統(tǒng)關鍵模塊實現
3.1 查找課程
學生用戶登錄成功之后可以查找網站上的課程資源,可以在線視頻學習,或者將學習資源進行下載,還可以在課程的留言板上留言評價課程或向老師提問。
在課程查詢中,搜索框采用模糊搜索,在條件框中支持多條件查詢:課程一級目錄,二級目錄,課程類型等條件。搜索課程頁面如圖2所示。
搜索課程實現關鍵代碼如下所示:
DetachedCriteria dc = DetachedCriteria.forClass(CourseEntity.class);
if(mId!=0){ //根據二級課程目錄進行搜索
//添加搜索條件
dc.add(Restrictions.eq("courseMenu.id", mId));
}
else if(pmId!=0){ //根據一級課程目錄進行搜索
dc.createAlias("clazzMenu", "m").add(Restrictions.eq("m.parentMenuEntity.id", pmId)); }
if(pmId!=0){ //根據一級目錄獲取二級目錄
DetachedCriteria menudc = DetachedCriteria.forClass(ClazzMenuEntity.class);
menudc.add(Restrictions.eq("parentMenuEntity.id", pmId));
List
request.setAttribute("childMenuList", childMenuList);
}
if(ftId!=0){ //根據課程類型進行搜索
dc.add(Restrictions.eq("courseType.id", ftId));
}
if(!WebUtils.isEmpty(key)){ //根據關鍵字進行搜索
key = new String(key.getBytes("ISO8859-1"),"utf-8");
dc.add(Restrictions.like("name", key, MatchMode.ANYWHERE));
}
3.2 課程學習
學生登錄系統(tǒng)后,點擊進入課程學習中心瀏覽或者查找要學習的課程,進入課程學習頁面,選擇課程章節(jié)目錄進行視頻播放學習。課程學習界面如圖3所示,其流程圖如圖4所示。
流程說明:這里的course.jsp是課程學習主頁,用戶進入課程學習后通過調用CourseDao.java加載數據庫中的課程內容信息,并在課程主頁上顯示這些課程內容信息,用戶可以根據這些內容信息選擇某一內容進行學習,選擇后的信息交由CoursePlayAction.java進行處理,視圖跳轉至CoursePlay.jsp。
3.3 添加課程內容
教師登錄系統(tǒng)后,進入課程管理界面,選擇添加課程內容,課程內容主要分為課程教學視頻和課程資料。課程視頻又叫作課程章節(jié),即一個教學視頻對應一個課程章節(jié)。添加課程章節(jié)內容界面如圖5所示。
流程說明:點擊添加課程內容,進入addsection.jsp添加課程內容界面,addsection.jsp將已有的課程內容顯示出來,在該頁面中輸入要添加的課程內容,點擊提交請求時,addsection.jsp頁面對輸入的信息進行判空和驗證,最后由AddSectionAction.java處理添加課程內容,并通過SectionDao.java將添加的課程內容持久化至數據庫中,添加成功后視圖將跳轉至Section.jsp。
上傳資料實現核心代碼如下所示:
public void save(String fileName) throws UploadException,IOException{
if(isFileSizeMax())
throw new UploadException("文件超過了指定的容量,文件只支持"+sizeByStr());
filename = file.getFileName();
BufferedInputStream in = null; //輸入流
BufferedOutputStream stream = null; //輸出流
try {
if (file != null) {
String type = getType(filename).toLowerCase(); // 上傳的文件,并且轉為小寫
if (!StringUtils.isEmpty(fileType)) {
if (!isFileType(type, fileType.toLowerCase())) {
throw new Exception("文件格式不正確");
}
}
uploadFileName=FileHelper.joinFile(fileName, type);
in = new BufferedInputStream(file.getInputStream());
if (!StringUtils.isEmpty(fileName)) {
fullpath=FileHelper.joinPath(path, uploadFileName);
} else {
fullpath=FileHelper.joinPath(path, filename);
}
stream = new BufferedOutputStream(
new FileOutputStream(fullpath));
int buf = 1024 * 6;
byte[] bufByte = new byte[buf];
while (in.read(bufByte) != -1) {
stream.write(bufByte);
}
stream.flush();
stream.close();
stream = null;
in.close();
in = null;
} else {
throw new IOException("上傳的文件不存在");
}
} catch (Exception e) {
// e.printStackTrace();
throw new UploadException(e);
} finally {
if (stream != null) {
stream.close();
stream = null;
}
if (in != null) {
in.close();
in = null;
}
}
System.gc();
}
4 結束語
本文完成了基于SSH的網絡教學平臺的設計與實現。該系統(tǒng)開發(fā)過程嚴格按照軟件工程的思想,按照需求分析、系統(tǒng)設計、系統(tǒng)實現等多個步驟完成設計開發(fā),規(guī)范的開發(fā)過程使軟件的開發(fā)效率,質量和可維護性得到保證。本系統(tǒng)具有網上視頻學習、上傳教學資源、資源管理、網上師生互動、下載教學視頻和資料等功能。
參考文獻:
[1] 程艷艷. MVC設計模式下SSH組合框架的研究與設計[M]. 天津:天津工業(yè)大學, 2013.
[2] Bosanac D. Advanced Configuration of the Spring MVC Framework[J]. Programmer, 2015, 408(520).
[3] 王臻, 郭芊羽. 基于Spring框架的依賴注入研究[J].才智,2014(34).
[4] 閆帥領. 面向Java Web 的Hibernate框架的研究與應用[J].黑龍江科技信息,2012(26).
[5] 白雪梅. 應用Hibernate框架技術實現對象持久化[J].科學時代, 2014(7).
[6] 梁德華. 基于Hibernate4框架的Java訪問數據庫的設計與實現[J].山東工業(yè)技術,2014(23).