运行环境: 最好是java jdk 1.8,我在这个平台上运行的。其他版本理论上也可以。
IDE环境: Eclipse,Myeclipse,IDEA或者Spring Tool Suite都可以,如果编译器的版本太低,需要升级下编译器,不要弄太低的版本
tomcat服务器环境: Tomcat 7.x,8.x,9.x版本均可
操作系统环境: Windows XP/7/8/10或者Linux或者MacOS,2G内存以上(推荐4G,4G以上更好)
主要功能说明: 管理员角色包含以下功能:修改个人资料,修改密码,判卷管理,成绩管理,管理员登录,试卷管理,试题管理等功能。 教师角色包含以下功能:判卷管理,成绩管理,教师登录,试卷管理,试题管理等功能。 学生角色包含以下功能:修改个人资料,修改密码,在线考试,学生登录等功能。 用了技术框架: HTML+CSS+JavaScript+SpringMVC+jsp+mysql+Spring+mybatis
——————————————————————————————————————————
我搭建了一个演示站,方便大家看下:
点此进入演示地址
学生账号/密码: student/123456
教师账号/密码: teacher/123456
管理员账号/密码:admin/admin——————————————————————————————————————————
运行的截图如下(点击可以放大):
SSM在线考试系统-管理员角色-修改个人资料↓↓
#### SSM在线考试系统-管理员角色-修改密码↓↓
#### SSM在线考试系统-管理员角色-判卷管理↓↓
#### SSM在线考试系统-管理员角色-成绩管理↓↓
#### SSM在线考试系统-管理员角色-管理员登录↓↓
#### SSM在线考试系统-管理员角色-试卷管理↓↓
#### SSM在线考试系统-管理员角色-试题管理↓↓
#### SSM在线考试系统-教师角色-判卷管理↓↓
#### SSM在线考试系统-教师角色-成绩管理↓↓
#### SSM在线考试系统-教师角色-教师登录↓↓
#### SSM在线考试系统-教师角色-试卷管理↓↓
#### SSM在线考试系统-教师角色-试题管理↓↓
#### SSM在线考试系统-学生角色-修改个人资料↓↓
#### SSM在线考试系统-学生角色-修改密码↓↓
#### SSM在线考试系统-学生角色-在线考试↓↓
#### SSM在线考试系统-学生角色-学生登录↓↓
数据库设计文档
数据库名:ssm_online_exam_system
文档版本:粗写版
文档版本:粗写版
序号 | 表名 | 说明 |
1 | exam | 试卷表 |
2 | exam_detail | 考试的信息 |
3 | exam_question | 试卷和问题的关联表 |
4 | exam_record | 考试记录 |
5 | exam_student | 试卷和学生的关联表 |
6 | notice | 公告管理 |
7 | question | 问题表 |
8 | sys_log | 系统日志 |
9 | sys_user |
返回目录
表名:exam
说明:试卷表
数据列:
序号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | exam_id | int | 10 | 0 | N | Y | ||
2 | exam_name | varchar | 128 | 0 | Y | N | NULL | 试卷名 |
3 | exam_start_date | datetime | 19 | 0 | Y | N | NULL | 考试开始时间 |
4 | exam_last_time | bigint | 20 | 0 | Y | N | NULL | 考试持续的时间,单位为分钟 |
5 | reviewer_id | int | 10 | 0 | Y | N | NULL | 审批老师的id |
6 | create_by | bigint | 20 | 0 | Y | N | NULL | 创建者 |
7 | create_date | datetime | 19 | 0 | Y | N | NULL | |
8 | update_by | bigint | 20 | 0 | Y | N | NULL | |
9 | update_date | datetime | 19 | 0 | Y | N | NULL | |
10 | score | decimal | 11 | 0 | Y | N | NULL | 试卷总分 |
返回目录
表名:exam_detail
说明:考试的信息
数据列:
序号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | id | int | 10 | 0 | N | Y | ||
2 | exam_id | int | 10 | 0 | Y | N | NULL | 试卷的id |
3 | stu_id | int | 10 | 0 | Y | N | NULL | 学生的id |
4 | score | decimal | 11 | 0 | Y | N | NULL | 考试成绩 |
返回目录
表名:exam_question
说明:试卷和问题的关联表
数据列:
序号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | eq_id | int | 10 | 0 | N | Y | ||
2 | exam_id | int | 10 | 0 | Y | N | NULL | 试卷的id |
3 | question_id | int | 10 | 0 | Y | N | NULL | 问题的id |
返回目录
表名:exam_record
说明:考试记录
数据列:
序号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | exam_id | int | 10 | 0 | N | Y | ||
2 | stu_id | int | 10 | 0 | N | Y | ||
3 | question_id | int | 10 | 0 | N | Y | ||
4 | answer | text | 65535 | 0 | Y | N | NULL | |
5 | final_score | decimal | 11 | 0 | Y | N | 0 | 最终成绩 |
返回目录
表名:exam_student
说明:试卷和学生的关联表
数据列:
序号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | es_id | int | 10 | 0 | N | Y | ||
2 | student_id | int | 10 | 0 | Y | N | NULL | 学生的id |
3 | exam_id | int | 10 | 0 | Y | N | NULL | 试卷的id |
4 | status | char | 1 | 0 | Y | N | '0' | 状态,0表示还未参加考试,1表示参加考试完成 |
5 | total_score | decimal | 11 | 0 | Y | N | NULL | 总分 |
6 | reading | char | 1 | 0 | Y | N | '1' | 1表示正在阅卷中,0表示阅卷完成 |
返回目录
表名:notice
说明:公告管理
数据列:
序号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | notice_id | int | 10 | 0 | N | Y | 公告的id | |
2 | title | varchar | 128 | 0 | Y | N | NULL | 公告的标题 |
3 | content | varchar | 1024 | 0 | Y | N | NULL | 公告的内容 |
4 | type | char | 1 | 0 | Y | N | NULL | 公告的类型:1表示需要弹框提示2表示页面提示 |
5 | create_by | int | 10 | 0 | Y | N | NULL | |
6 | create_date | datetime | 19 | 0 | Y | N | NULL | |
7 | update_by | int | 10 | 0 | Y | N | NULL | |
8 | update_date | datetime | 19 | 0 | Y | N | NULL |
返回目录
表名:question
说明:问题表
数据列:
序号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | id | int | 10 | 0 | N | Y | ||
2 | type | char | 1 | 0 | Y | N | NULL | 问题类型:1表示单选,2表示多选,3表示天空,4表示判断,5表示问答 |
3 | title | text | 65535 | 0 | Y | N | NULL | 题干 |
4 | option_a | varchar | 5120 | 0 | Y | N | NULL | A选项答案 |
5 | option_b | varchar | 5120 | 0 | Y | N | NULL | B选项答案 |
6 | option_c | varchar | 5120 | 0 | Y | N | NULL | C选项答案 |
7 | option_d | varchar | 5120 | 0 | Y | N | NULL | D选项答案 |
8 | answer | text | 65535 | 0 | Y | N | NULL | 答案 |
9 | analyse | text | 65535 | 0 | Y | N | NULL | 解析 |
10 | score | decimal | 11 | 0 | Y | N | NULL | 该题的分数 |
11 | create_by | int | 10 | 0 | Y | N | NULL | |
12 | create_date | datetime | 19 | 0 | Y | N | NULL | |
13 | update_by | int | 10 | 0 | Y | N | NULL | |
14 | update_date | datetime | 19 | 0 | Y | N | NULL |
返回目录
表名:sys_log
说明:系统日志
数据列:
序号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | id | int | 10 | 0 | N | Y | 编号 | |
2 | type | varchar | 20 | 0 | Y | N | NULL | 请求类型 |
3 | title | varchar | 255 | 0 | Y | N | '' | 日志标题 |
4 | remote_addr | varchar | 255 | 0 | Y | N | NULL | 操作IP地址 |
5 | username | varchar | 255 | 0 | Y | N | NULL | 操作用户昵称 |
6 | request_uri | varchar | 255 | 0 | Y | N | NULL | 请求URI |
7 | http_method | varchar | 10 | 0 | Y | N | NULL | 操作方式 |
8 | class_method | varchar | 255 | 0 | Y | N | NULL | 请求类型.方法 |
9 | data | varchar | 1024 | 0 | Y | N | NULL | 操作提交的数据 |
10 | session_id | varchar | 255 | 0 | Y | N | NULL | sessionId |
11 | response | varchar | 1024 | 0 | Y | N | NULL | 返回内容 |
12 | use_time | bigint | 20 | 0 | Y | N | NULL | 方法执行时间 |
13 | browser | varchar | 255 | 0 | Y | N | NULL | 浏览器信息 |
14 | area | varchar | 255 | 0 | Y | N | NULL | 地区 |
15 | province | varchar | 255 | 0 | Y | N | NULL | 省 |
16 | city | varchar | 255 | 0 | Y | N | NULL | 市 |
17 | isp | varchar | 255 | 0 | Y | N | NULL | 网络服务提供商 |
18 | exception | varchar | 1024 | 0 | Y | N | NULL | 异常信息 |
19 | create_by | varchar | 64 | 0 | Y | N | NULL | 创建者 |
20 | create_date | datetime | 19 | 0 | Y | N | NULL | 创建时间 |
21 | update_by | bigint | 20 | 0 | Y | N | NULL | |
22 | update_date | datetime | 19 | 0 | Y | N | NULL | |
23 | remark | varchar | 255 | 0 | Y | N | NULL | |
24 | del_flag | tinyint | 4 | 0 | Y | N | NULL |
返回目录
表名:sys_user
说明:
数据列:
序号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | id | int | 10 | 0 | N | Y | 用户ID | |
2 | login_name | varchar | 36 | 0 | Y | N | NULL | 登录名 |
3 | nick_name | varchar | 40 | 0 | Y | N | NULL | 昵称 |
4 | icon | varchar | 2000 | 0 | Y | N | NULL | |
5 | password | varchar | 40 | 0 | Y | N | NULL | 密码 |
6 | salt | varchar | 40 | 0 | Y | N | NULL | shiro加密盐 |
7 | tel | varchar | 11 | 0 | Y | N | NULL | 手机号码 |
8 | varchar | 200 | 0 | Y | N | NULL | 邮箱地址 | |
9 | locked | tinyint | 4 | 0 | Y | N | NULL | 是否锁定 |
10 | create_date | datetime | 19 | 0 | Y | N | NULL | |
11 | create_by | bigint | 20 | 0 | Y | N | NULL | |
12 | update_date | datetime | 19 | 0 | Y | N | NULL | |
13 | update_by | bigint | 20 | 0 | Y | N | NULL | |
14 | remark | varchar | 255 | 0 | Y | N | NULL | |
15 | del_flag | tinyint | 4 | 0 | Y | N | NULL | |
16 | user_type | char | 1 | 0 | Y | N | NULL |