一、相关技术

1 MYSQL数据库

技术描述:MySQL是一个真正的多用户、多线程SQL数据库服务器,基于SQL的客户/服务器模式的关系数据库管理系统。其优点包括功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常适用于Web站点或其他应用软件的数据库后端开发。用户可以利用多种语言编写访问MySQL数据库的程序。作为开放源代码运动的产物之一,MySQL越来越受到青睐,应用范围广泛。速度和易用性使MySQL特别适用于Web站点或应用软件的数据库后端开发。

特点

  1. 源代码便携性:在C和C++中使用和测试,以确保源代码的编译器便携性和灵活性。
  2. 多操作系统支持:支持多种操作系统,包括AIX、FreeBSD、HP-UX、Linux、Mac OS、Netware、OpenBSD、OS/2、Solaris、Windows等。
  3. 多语言API支持:提供用于不同编程语言的API,如C、C++、Python、Java、Perl、PHP、Ruby和Tcl等。
  4. 多线程支持:使用CPU资源支持多线程,提高查询速度。
  5. 算法优化:优化查询SQL,提高搜索速度。
  6. 多国语言支持:支持多国语言,包括中文、GB2312、BIG5、日文、Shift-JIS等。
  7. 网络连接:支持TCP/IP、ODBC和JDBC数据库连接。
  8. 管理工具:提供管理、控制和优化数据库操作的工具。
  9. 大数据处理:可以处理数以千万计的记录在一个大的数据库。

2 B/S结构

技术描述:B/S架构是一种基于互联网系统的软件系统开发架构,广泛应用于软件系统开发中。它打破了C/S结构的限制,提供了对基于网络结构的软件系统的良好支持。B/S架构伴随着计算机网络技术的发展而逐步发展和更新。

运行方式:B/S架构利用操作系统中的浏览器进行使用,不需要在使用的电脑上安装窗体软件系统。开发的软件系统部署在远程服务器上,通过互联网访问部署好的软件系统,给用户带来极大便利。

三层体系结构

  1. 表示逻辑层:用户通过浏览器向服务器发出请求。
  2. 控制逻辑层:服务器处理请求并执行应用程序。
  3. 数据展现层:服务器访问数据库并返回结果。

优点

  • 简化客户机工作:客户机上只需安装少量客户端运行软件。
  • 跨平台性:可以在任何接入互联网的电脑上操作系统。
  • 节约开发成本:使用通用浏览器实现复杂功能。

3 Spring Boot框架简介

技术描述:Spring Boot由Pivotal团队提供,旨在简化新Spring应用的初始搭建和开发过程。通过特定方式进行配置,开发人员不再需要定义样板化的配置,致力于在快速应用开发领域成为领导者。

特点

  • 简化配置:使用特定方式进行配置,减少开发人员的配置工作。
  • 兼容性:可以与经典的Java开发工具一起使用或作为命令行工具安装。
  • 版本要求:需要Java SDK 1.6或更高版本,本项目使用JDK 1.8版本。

二、系统概要设计

数据库设计

数据库设计表

基于JavaWeb技术的在线考试系统设计与实现需要后台数据库,下面介绍数据库中的各个表的详细信息:

表1 试卷表

字段 类型 默认 注释
id (主键) bigint(20) 主键
addtime timestamp CURRENT_TIMESTAMP 创建时间
name varchar(200) 试卷名称
time int(11) 考试时长(分钟)
status int(11) 0 试卷状态

表2 试题表

字段 类型 默认 注释
id (主键) bigint(20) 主键
addtime timestamp CURRENT_TIMESTAMP 创建时间
paperid bigint(20) 所属试卷id(外键)
papername varchar(200) 试卷名称
questionname varchar(200) 试题名称
options longtext NULL 选项,json字符串
score bigint(20) 0 分值
answer varchar(200) NULL 正确答案
analysis longtext NULL 答案解析
type bigint(20) 0 试题类型,0:单选题 1:多选题 2:判断题 3:填空题(暂不考虑多项填空)
sequence bigint(20) 100 试题排序,值越大排越前面

表3 考试记录表

字段 类型 默认 注释
id (主键) bigint(20) 主键
addtime timestamp CURRENT_TIMESTAMP 创建时间
userid bigint(20) 用户id
username varchar(200) NULL 用户名
paperid bigint(20) 试卷id(外键)
papername varchar(200) 试卷名称
questionid bigint(20) 试题id(外键)
questionname varchar(200) 试题名称
options longtext NULL 选项,json字符串
score bigint(20) 0 分值
answer varchar(200) NULL 正确答案
analysis longtext NULL 答案解析
myscore bigint(20) 0 试题得分
myanswer varchar(200) NULL 考生答案

表4 考试规则

字段 类型 默认 注释
id (主键) bigint(20) 主键
addtime timestamp CURRENT_TIMESTAMP 创建时间
guize longtext NULL 规则
tupian varchar(200) NULL 图片

表5 考试评分

字段 类型 默认 注释
id (主键) bigint(20) 主键
addtime timestamp CURRENT_TIMESTAMP 创建时间
kemu varchar(200) NULL 科目
shijuan varchar(200) NULL 试卷
pingfen int(11) NULL 评分
xuehao varchar(200) NULL 学号
xingming varchar(200) NULL 姓名
banji varchar(200) NULL 班级

表6 考试统计

字段 类型 默认 注释
id (主键) bigint(20) 主键
addtime timestamp CURRENT_TIMESTAMP 创建时间
kemu varchar(200) NULL 科目
shijuan varchar(200) NULL 试卷
timu varchar(200) NULL 题目
kaoshitongguolv varchar(200) NULL 考试通过率
kaoshikemucishu varchar(200) NULL 考试科目次数

表7 考试资讯

字段 类型 默认 注释
id (主键) bigint(20) 主键
addtime timestamp CURRENT_TIMESTAMP 创建时间
title varchar(200) 标题
introduction longtext NULL 简介
picture varchar(200) 图片
content longtext 内容

表8 管理员表

字段 类型 默认 注释
id (主键) bigint(20) 主键
username varchar(100) 用户名
password varchar(100) 密码
role varchar(100) 管理员 角色
addtime timestamp CURRENT_TIMESTAMP 新增时间

表9 忘记密码人员登记

字段 类型 默认 注释
id (主键) bigint(20) 主键
addtime timestamp CURRENT_TIMESTAMP 创建时间
xuehao varchar(200) NULL 学号
xingming varchar(200) NULL 姓名
banji varchar(200) NULL 班级
xueyuan varchar(200) NULL 学院
zhuanye varchar(200) NULL 专业
shouji varchar(200) NULL 手机
xinmima varchar(200) NULL 新密码
xiugaishijian datetime NULL 修改时间

表10 用户

字段 类型 默认 注释
id (主键) bigint(20) 主键
addtime timestamp CURRENT_TIMESTAMP 创建时间
xuehao varchar(200) 学号
mima varchar(200) 密码
xingming varchar(200) 姓名
xingbie varchar(200) NULL 性别
xueyuan varchar(200) NULL 学院
zhuanye varchar(200) NULL 专业
banji varchar(200) NULL 班级
shouji varchar(200) NULL 手机
shenfenzheng varchar(200) NULL 身份证
zhaopian varchar(200) NULL 照片

表11 专业类型

字段 类型 默认 注释
id (主键) bigint(20) 主键
addtime timestamp CURRENT_TIMESTAMP 创建时间
leixing varchar(200) NULL 类型

表12 专业列表

字段 类型 默认 注释
id (主键) bigint(20) 主键
addtime timestamp CURRENT_TIMESTAMP 创建时间
zhuanyemingcheng varchar(200) NULL 专业名称
zhuanyexiangqing longtext NULL 专业详情
zhuanyeleixing varchar(200) NULL 专业类型

三、系统详细实现

1 管理员模块的实现

1.1 用户信息管理

功能描述:基于JavaWeb技术的在线考试系统设计与实现的系统管理员可以管理用户,可以对用户信息添加修改删除以及查询操作。具体界面的展示如图1所示。

用户信息管理界面

图1 用户信息管理界面

1.2 考试统计管理

功能描述:系统管理员可以查看对考试统计进行添加,修改,删除以及查询操作。具体界面如图2所示。

考试统计管理界面

图2 考试统计管理界面

2.1 专业列表管理

功能描述:系统管理员可以对专业列表信息进行添加,修改,删除以及查询操作。界面如下图所示:

专业列表信息管理界面

图3 专业列表信息管理界面

2.1 忘记密码人员登记管理

功能描述:系统管理员可以对忘记密码人员登记信息进行添加修改删除操作,还可以对忘记密码人员登记信息进行查询。界面如下图所示:

忘记密码人员登记管理界面

图4 忘记密码人员登记管理界面

2 用户模块的实现

2.2 修改密码

功能描述:用户登录之后,可以修改密码。界面如下图所示:

修改密码界面

图5 修改密码界面

2.3 试卷信息

功能描述:用户登录后可以在首页点击试卷列表,就可以看到试卷信息,可以选中试卷信息进行考试操作。界面如下图所示:

试卷信息界面

图6 试卷信息界面

2.3 考试信息管理

功能描述:用户点击试卷信息可以参考考试。界面如下图所示:

考试界面

图7 考试界面

源码+论文下载>>

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐