基于JSP的精品课程网站设计与实现

2016-12-21 10:27窦立君张金凤吴尧
电脑知识与技术 2016年28期
关键词:网站精品课程

窦立君+张金凤+吴尧

摘要:该文介绍了利用JSP技术并借助MySQL数据库设计与实现一个包含课程大纲、课程讲稿、教案、视频、学习资料等信息的管理和维护,同时提供课程题库建设和在线管理题库和学生在线测试功能的精品课程网站。

关键词:精品课程;网站;在线测试;JSP

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)28-0033-03

Abstract:This article describes the use of JSP technology and with the MySQL database design and implementation of quality that includes course outlines, lecture notes, lesson plans, videos, learning materials management and maintenance information, while providing curriculum exam development and online management exam and students online testing capabilities excellent course website.

Key words:Excellent course; online testing; JSP

1 概述

学习课程知识是我国教育的核心,教育部为加强全国各高校教育质量而提出精品课程建设的宝贵意见,而精品课程建设的重要工作之一就是精品课程网站的建设。教师在网站中分享宝贵的教学资源,学生可以通过网络在任何地点进行课程资料学习以及课程在线考试,这种方式不仅能够很好的提高学生的自学能力而且能够节约资源。本文利用JSP以及MySQL结合本校精品课程建设需求设计实现精品课程网站。

2 系统总体结构设计

2.1 系统权限设计

网站用户分三类:管理员、教师、学生,对应三种权限。对于没有登录的用户统称为游客,游客在网站上只能浏览课程的介绍、教学大纲等基本信息。学生登录之后可以学习所有感兴趣的且课程建设教师已经将该课程发布的课程。教师登录之后可以管理自己建设的所有课程。管理员登录之后只能做网站层面的管理,包括教师、学生管理及网站配置方面等,不能进行任何课程的管理。

2.2 系统功能设计

系统实现用户登录、注册、找回密码功能;学生可以在线浏览下载课程内容,还可以进行课程在线测试;教师可以浏览下载课程内容、在线测试、上传自己所教课程内容、试题管理、试卷设置;管理员管理学生、教师、课程及重要通知。

2.2.1 登录模块

所有用户都从该模块登录系统,用户类型分为学生、教师和管理员,输入正确的用户名、密码选择相应的用户类型就可以进入系统。当用户名、密码或者用户类型错误时会有相应的提醒。

2.2.2 注册模块

该模块为学生定做,所有注册的用户都是学生类型,在注册页面填写完整了相应的信息即可完成注册,通过注册的用户名和密码进入系统并拥有学生权限。

2.2.3 找回密码模块

该模块为学生和教师设置,当学生和教师忘记自己的密码时可以通过自己的密保问题和答案找回密码。

2.2.4 查看通知模块

在系统主界面有一模块为重要通知,在该模块可以查看和下载管理员上传的重要通知的内容。

2.2.5 课程学习模块

在该模块学生和教师可以对课程进行学习,可以在该模块中看到课程简介、课程大纲、课程教案、课程讲稿、课程视频、学习资料。课程简介与课程大纲可以在线查看学习并能下载,课程讲稿、视频、学习资料需要下载或者安装插件才能进行查看。

2.2.6 在线测试模块

已登录的用户就拥有在线测试权限,在每一门课程中,点击在线测试就可以进入教师设定的试卷中考试,考试完成后可以看到正确答案与考试分数,并能在个人中心中查看用户的考试信息。

2.2.7 课程管理模块

教师可以对自己所教的课程添加课程大纲、教案、讲稿、视频、学习资料;还可以对这些资料进行管理。

2.2.8 试题管理模块

教师登录后进入个人中心的试题管理,在该模块中教师可以对自己所教的所有课程进行试题添加和删除。试题分为单项选择题、多项选择题、判断题、填空题。

2.2.9 试卷设置模块

教师登录后进入个人中心的试卷管理,教师可以对自己所教的课程进行试卷设置,包括各种类型的题目题数、分数、试卷总分和考试时间。如果设置的每类类型题数超过了该课程所拥有的每类类型题数,则提示教师试卷设置有误。设置完成的试卷中的题目在题库中随机抽取,教师也可以修改试卷。

2.2.10 管理员模块

管理员登录后进入后台,管理员可以对学生、教师、课程和通知进行管理。学生管理只能查找和删除学生,不能修改学生信息;教师管理可以对教师进行查询、修改、添加、删除;课程管理可以对课程查找、修改、添加、删除,管理对课程的添加和修改之管理课程的基本信息,包括课程名、教师、学时、类型、教师团队。

3 数据库设计

通过对网站功能的分析,结合数据库设计的相关原则进行数据库的逻辑设计,得出网站主要有学生、教师、管理员、课程、试题、试卷、通知七个实体,每个实体根据需要又有若干个属性,实体之间通过对应的属性建立关系。本系统中实体间的关系如图1所示。

在逻辑设计基础上,结合MySQL数据库的可视化工具可以快速在其中进行数据库和表的创建。

4 关键代码设计

代码设计是系统开发的一个重要部分,代码的封装性,可重用性等对系统相当重要,具体功能的代码实现要充分利用软件工程里的代码设计思想来进行。这里只对几个关键代码进行介绍。

4.1 数据库连接设计

数据库是用来存放系统数据信息的仓库,一个系统必须依靠数据信息才能正常运行。但是程序与数据库是两个独立的个体,要实现程序应用数据信息,我们就需要在系统和数据库之间建立一个连接,这样系统才可以运用到数据库中的数据。将数据库连接及数据库的常用操作单独封装到一个package的类中,在之后的功能代码中可以直接调用类中的方法,这种方式可以避免代码重复编写。具体方法如下:

public class JdbcUtil {

protected static Connection conn = null;

protected java.sql.PreparedStatement pstmt;

private static String url = "jdbc:mysql://localhost:3306/Jpkc?useUnicode=true&characterEncoding=utf8";

private static String user = "root";

private static String password = "123456";

//连接数据库

protected static Connection getConnection() throws SQLException{

try {Class.forName("com.mysql.jdbc.Driver");

conn = DriverManager.getConnection(url, user, password);

} catch (ClassNotFoundException e) {…}

return conn;}

//执行select操作的方法(有参数),返回结果集

public static ResultSet select(String sql,Object[] params) throws Exception{

PreparedStatement pstem = getConnection().prepareStatement(sql);

for (int i = 0; i < params.length; i++) {pstem.setObject(i+1, params[i]);}

return pstem.executeQuery();}

//执行select操作的方法(无参数) ,返回结果集

public static ResultSet select2(String sql) throws Exception{

PreparedStatement pstem = getConnection().prepareStatement(sql);

return pstem.executeQuery();}

//执行dml操作,返回int值

public static int update(String sql,Object[] params) throws Exception{

PreparedStatement pstmt = getConnection().prepareStatement(sql);

for (int i = 0; i < params.length; i++) {pstmt.setObject(i+1, params[i]);}

return pstmt.executeUpdate();}

//关闭资源

public static void free(ResultSet rs,PreparedStatement ps,Connection conn){

if(rs !=null){

try {rs.close();} catch (SQLException e) {…}}

if(ps !=null){

try {…} catch (SQLException e) {…}

ps =null;//使用垃圾回收}

if(conn !=null){

try {…} catch (SQLException e) {…}

conn =null;}

}

4.2 在线测试设计

用户登录后点击课程可以对课程进行学习,在课程简介界面中有在线考试入口,点击“在线考试”即可进入考试,当用户没有登录时没有考试权限。进入在线考试界面后系统会自动按照试卷设置的要求从数据库中提取相关的题目并显示在页面上等待用户作答。每个测试用户是要在固定时间之内完成的,可以提前交卷,但到了规定的时间系统也要能自动提交用户的试卷。系统的倒计时通过JavaScript来实现的,具体如下:

var second = <%= time%>; // 剩余秒数

var toDays = function(){

var s = second % 60; // 秒

var mi = (second - s) / 60 % 60; // 分钟

var h = ((second - s) / 60 - mi ) / 60 % 24; // 小时

return "剩余:" + h + "小时"+ mi + "分钟" + s + "秒";}

//写一个定时器

window.setInterval(function(){

second --;

if(second<=0)

{alert("考试时间结束");

document.forms["stutestform"].submit();}

document.getElementById("showTimes").innerHTML = toDays ();

}, 1000);

5 结语

利用JSP + MySQL,结合本校精品课程建设情况实现的精品课程网站,经过一段时间的测试和应用得到了广大师生的肯定。学生可以上课之前到该课程的网站上进行预学习,带着问题进入课堂,课后也可以在该课程的网站上进行复习并对学过的内容分知识点进行测试,了解自己的不足,以便更有针对性地复习。

参考文献:

[1]胡孔法.数据库原理及应用[M].北京:机械工业出版社,2008.

[2]孙更新,宾晟,宫生文.JAVA程序开发大全——基于MYECLIPSE平台+STRUTS+HIBERNATE +SPRI[M].北京:中国铁道出版社,2010.

[3]明日科技.JAVA从入门到精通[M].3版.北京:清华大学出版社,2012.

[4]张兴科,季昌武.Java程序设计项目教程[M].北京:中国人民大学出版社,2010.

猜你喜欢
网站精品课程
河洛文化旅游资源外宣网站日译现状调查及对策研究
精品课程转型升级为精品资源共享课的认识与思考
浅析《Photoshop》精品课程开发及网站建设
精品课程资源共享建设问题的探索与思考
高职高专医药卫生类国家精品课程的分析与思考