基于SSH的网络教学平台的设计与实现

2018-11-01 03:04涂振宇
电脑知识与技术 2018年19期
关键词:教学

涂振宇

摘要:平台包括以下功能模块:学生学习模块,教师教学模块,后台管理模块和论坛模块。后台管理模块实现了管理员登录、管理员对学生信息管理、对教师信息管理、对校园公告管理、对课程分类管理、密码修改和退出系统等功能。教师模块实现了教师登录、发布课程、管理课程、上传课程视频、上传课程资料,修改密码和退出系统等功能。学生模块实现了学生登录、学生在线学习、查询课程、下载课程资料、学生修改密码和退出系统等功能。

关键词:教学;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 前言

随着信息技术的飞速发展,网络已经逐渐渗入到各个领域当中,给传统的教学方式带来了很大的影响。网络教学可以以学生为主导,学习不受时空条件的限制,学生可以在任意拥有网络的地方进行学习,对学生学习能够起到有效的辅导作用,减轻老师的教学负担,受到了国内外许多高校的追捧。

2 系统概述

在本文设计实现的教学平台中,用户可以以游客身份浏览网站中的教学资源,校园公告,论坛言论,如果想要下载学习资料,那么这个用户需要在网站上登录,然后找的相关课程资料进行下载。学生还可以在课程留言板中以留言方式与老师交流,教师用户可以上传自己课程的教学视频及教学资料,对课程及课程视频和课程资料进行添加、修改、删除,还可以查看学生留言。本教学平台的管理员能够对学生及教师用户进行管理,也能对论坛的言论进行屏蔽或删除管理,可以对课程进行分类管理,在分类上设置两个学科目录,例如,微积分属于数学类下的高等数学类,这里的数学是一级学科目录,高等数学是二级学科目录,微积分属于课程。除此以外,管理员应还可以操作课程的状态,把课程设置为推荐状态或者普通状态,推荐状态的课程可以优先显示。该系统由管理员模块、学生学习模块、老师教学模块、学习论坛模块等四个模块构成。平台功能结构如图1所示。

管理员模块,包括修改密码、老师信息管理、学生信息管理、系统公告和课程分类管理等功能,本模块主要是后台管理模块。

老师教学模块,包括个人信息管理資料、教学资料管理、上传教学资料、发布课程、上传课程视频等功能。

学生学习模块,包括个人信息管理、查找课程、播放教学视频、资料下载、课程留言、论坛互动等功能。

学习论坛模块,包括发帖,删帖,帖子分类等功能。

3 系统关键模块实现

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 childMenuList = courselvesMenuDao.findByExample(menudc);

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 课程学习

学生登录系统后,点击进入课程学习中心浏览或者查找要学习的课程,进入课程学习页面,选择课程章节目录进行视频播放学习。课程学习界面如图3所示,其流程图如图4所示。

流程说明:这里的course.jsp是课程学习主页,用户进入课程学习后通过调用CourseDao.java加载数据库中的课程内容信息,并在课程主页上显示这些课程内容信息,用户可以根据这些内容信息选择某一内容进行学习,选择后的信息交由CoursePlayAction.java进行处理,视图跳转至CoursePlay.jsp。

3.3 添加课程内容

教师登录系统后,进入课程管理界面,选择添加课程内容,课程内容主要分为课程教学视频和课程资料。课程视频又叫作课程章节,即一个教学视频对应一个课程章节。添加课程章节内容界面如图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的网络教学平台的设计与实现。该系统开发过程严格按照软件工程的思想,按照需求分析、系统设计、系统实现等多个步骤完成设计开发,规范的开发过程使软件的开发效率,质量和可维护性得到保证。本系统具有网上视频学习、上传教学资源、资源管理、网上师生互动、下载教学视频和资料等功能。

参考文献:

[1] 程艳艳. MVC设计模式下SSH组合框架的研究与设计[M]. 天津:天津工業大学, 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].山东工业技术,2014(23).

猜你喜欢
教学
“自我诊断表”在高中数学教学中的应用
对外汉语教学中“想”和“要”的比较
跨越式跳高的教学绝招
初中50米迎面接力跑教学心得