# JavaWeb在线考试系统毕业设计 **Repository Path**: cssdashijie2/OnlineExam ## Basic Information - **Project Name**: JavaWeb在线考试系统毕业设计 - **Description**: JavaWeb在线考试系统毕业设计-本系统的目标是实现智能化考试,教师可以进行管理试题,管理试卷,发布试卷,成绩统计可视化等操作。其中出题方式有两种,自动出题和手动出题。学生在参加完考试之后,系统会自动进行阅卷,并给出学生的考试成绩。学生可以实时看到自己的成绩,成绩可通过可视化图表进行展示。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2020-12-17 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 毕业设计 --基于B/S架构的JavaWeb在线考试系统 本文档只是对本人毕业设计的说明文档,并没有上传相关的源代码和数据库文件,如有需要,请联系作者。 邮箱:13834697883@163.com QQ:2274747912 备注请写明您的意图! ### 项目亮点: *** 1. 前后端分离。 1. 用户登录权限区分和控制。 1. 防止横向越权和纵向越权。 1. 密码MD5明文加密。 1. 设计高复用的服务器响应对象。 1. guava缓存。 1. pojo,vo抽象模型。 1. 数据绑定对象。 1. Mybatis分页 1. Bootstrap。 1. artTemplate,artDialog,iframe前端模板使用。 1. select2、toastr、sweetalert等等前端插件的使用。 1. redis缓存。 1. 全局异常处理,拦截器权限统一检验。 1. echarts可视化技术对于学生成绩的统计(包括最高分,最低分,平均分,优秀率,及格率,不及格率的统计) ### 启动说明 *** 项目为maven管理,集成了redis,所以在运行项目是先要下载redis并启动客户端,方可正常运行项目,由于只需要下载redis,无需其他配置,这里就不做过多说明。 ### 最近更新 *** 集成redis来保存用户登录信息,添加过滤器重置用户登录有效期。拦截器实现统一登录和权限校验。 ### 项目采用前后端分离技术实现 *** - 框架:SSM(Spring,SpringMVC,Mybatis) - 缓存:redis - 数据库:MySQL - IDE:Intellij IDEA - 其他:Maven,Git, Tomcat, BootStrap, PageHelper, Echarts ### 项目实际效果 --- 登录首页:不同用户角色的登录,进入相应的界面 ![登录首页](https://images.gitee.com/uploads/images/2020/0516/235628_d5892e16_1783654.png) --- 教师成功登录界面查看题库信息 ![教师成功登录界面查看题库信息](https://images.gitee.com/uploads/images/2020/0516/235628_3a676b2a_1783654.png) --- 忘记密码的回答问题功能 ![忘记密码的回答问题功能.jpg](https://images.gitee.com/uploads/images/2020/0516/235628_57878224_1783654.png) --- 忘记密码的重置密码功能 ![忘记密码的重置密码功能](https://images.gitee.com/uploads/images/2020/0516/235628_3f5c6f68_1783654.png) --- 查看试卷界面 ![查看试卷界面](https://images.gitee.com/uploads/images/2020/0516/235628_72192f6d_1783654.png) --- 查看所有试卷界面 ![查看所有试卷界面](https://images.gitee.com/uploads/images/2020/0516/235628_0b80c0e3_1783654.png) --- 查看试题详情 ![查看试题详情](https://images.gitee.com/uploads/images/2020/0516/235629_52958fc4_1783654.png) --- 查看试题详情界面 ![查看试题详情界面](https://images.gitee.com/uploads/images/2020/0516/235629_b9b0bae9_1783654.png) --- 新增试题界面 ![新增试题界面](https://images.gitee.com/uploads/images/2020/0516/235629_2dc37fed_1783654.png) --- 教师手动组卷 ![教师手动组卷](https://images.gitee.com/uploads/images/2020/0516/235629_83002f28_1783654.png) --- 教师自动出题 ![教师自动出题](https://images.gitee.com/uploads/images/2020/0516/235631_c5ed27be_1783654.png) --- 查看参加考试学生成绩 ![查看参加考试学生成绩](https://images.gitee.com/uploads/images/2020/0516/235630_8a414cc7_1783654.png) --- 管理试题功能 ![管理试题功能](https://images.gitee.com/uploads/images/2020/0516/235629_64fba7c8_1783654.png) --- 试卷预览界面 ![试卷预览界面](https://images.gitee.com/uploads/images/2020/0516/235631_1bf29ed7_1783654.png) --- 试卷发布 ![试卷发布](https://images.gitee.com/uploads/images/2020/0516/235630_8a5f9a83_1783654.png) --- 试题数量统计界面 ![试题数量统计界面](https://images.gitee.com/uploads/images/2020/0516/235630_501b5775_1783654.png) --- 选择试卷发布的专业 ![选择试卷发布的专业](https://images.gitee.com/uploads/images/2020/0516/235630_f07dd0ea_1783654.png) --- 分数区间饼状图统计 ![分数区间饼状图统计](https://images.gitee.com/uploads/images/2020/0516/235630_bbfc0f4a_1783654.png) --- 成绩区间统计 ![成绩区间统计](https://images.gitee.com/uploads/images/2020/0516/235630_26c25eda_1783654.png) --- 成绩区间统计饼图 ![成绩区间统计饼图](https://images.gitee.com/uploads/images/2020/0516/235630_629bf8bc_1783654.png) --- 成绩极值均值统计 ![成绩极值均值统计](https://images.gitee.com/uploads/images/2020/0516/235631_4240ab95_1783654.png) --- 成绩优秀率统计 ![成绩优秀率统计](https://images.gitee.com/uploads/images/2020/0516/235631_f916cf36_1783654.png) --- 学生成功登录界面 ![学生成功登陆界面](https://images.gitee.com/uploads/images/2020/0516/235631_801e93d9_1783654.png) --- 学生查看试卷功能 ![学生查看试卷功能](https://images.gitee.com/uploads/images/2020/0516/235631_ed937d87_1783654.png) --- 学生参加考试功能 ![学生参加考试功能.jpg](https://images.gitee.com/uploads/images/2020/0516/235631_da5bdf14_1783654.png) --- 学生查看考试成绩柱状图展示 ![学生查看考试成绩柱状图展示](https://images.gitee.com/uploads/images/2020/0516/235632_140d959b_1783654.png) --- 学生查询成绩功能 ![学生查询成绩功能](https://images.gitee.com/uploads/images/2020/0516/235631_9c20ef24_1783654.png) --- 做了一个词云 ![做了一个词云](https://images.gitee.com/uploads/images/2020/0516/235632_086bd775_1783654.png) --- 管理员通知管理 ![管理员通知管理](https://images.gitee.com/uploads/images/2020/0516/235632_8dd65e08_1783654.png) --- 管理员教师和学生管理 ![管理员教师和学生管理](https://images.gitee.com/uploads/images/2020/0516/235632_49809e62_1783654.png) --- 管理员对专业的管理 ![管理员对专业的管理](https://images.gitee.com/uploads/images/2020/0516/235632_db21f1e0_1783654.png) --- 年级统计可视化 ![专业统计可视化](https://images.gitee.com/uploads/images/2020/0516/235632_e796648b_1783654.png) --- 专业统计可视化 ![专业统计可视化](https://images.gitee.com/uploads/images/2020/0516/235632_37c4cb2f_1783654.png) --- 数据库截图 ![数据库截图](https://images.gitee.com/uploads/images/2020/0516/235632_071561cd_1783654.png) --- 代码截图 ![代码截图](https://images.gitee.com/uploads/images/2020/0516/235632_f46454c8_1783654.png) --- 总体设计1 ![总体设计1](https://images.gitee.com/uploads/images/2020/0516/235632_8f4c3e5e_1783654.png) --- 总体设计2 ![总体设计2](https://images.gitee.com/uploads/images/2020/0516/235632_a7edf0f6_1783654.png) --- 总体设计图 ![系统总体设计](https://images.gitee.com/uploads/images/2020/0516/235633_f19918c2_1783654.png) ### 系统功能 *** 本系统的目标是实现智能化考试,教师可以进行管理试题,管理试卷,发布试卷,成绩统计可视化等操作。其中出题方式有两种,自动出题和手动出题。学生在参加完考试之后,系统会自动进行阅卷,并给出学生的考试成绩。学生可以实时看到自己的成绩,成绩可通过可视化图表进行展示。 ### 系统的总体设计 *** **管理员用户** 管理员能够对通知,学生和老师的信息进行管理,拥有增加,修改,删除,查询通知信息,学生信息,老师信息的权限 **学生用户** 学生是参加考试的主体,学生参加完考试之后,可以查看到自己的成绩,同时,这些成绩也会以柱状图形式进行展示。 **教师用户** 教师能够对试题信息,试卷信息进行管理,教师能够以手动组卷和自动组卷两种方式进行组卷,教师能够发布组好的试卷,同时,教师能够查看学生的考试成绩,能够对学生的成绩信息进行统计,能够统计成绩的区间分布, 优秀率,及格率,最高分,最低分,平均分等信息,能够通过多种图表的方式进行可视化展示。 ### 系统子模块介绍 *** (1)登录模块:为了实现系统的安全性,所有用户的密码都通过MD5加盐技术进行加密,即使数据库泄露也不能将密码破解 (2)重置密码模块:用户若忘记密码可以通过回答设置的问题和答案进行修改密码。 (3)通知管理模块:不同角色的用户登录系统后都可以查看到系统中所发的通知。 (4)试题管理:教师能够向试题库中新增试题,教师能够查看自己设置的试题。 (5)试卷管理:教师能够向试卷库中新增试卷,教师能够查看自己设置的试卷。 (6)出题管理:教师能够进行手工组卷和自动组卷,手工组卷需要教师手动操作,自动组卷可以按照条件自动设置试卷。 (7)成绩统计:实现了考生成绩的可视化展示,综合运用了柱状图,饼图等图表进行可视化展示,能够分析学生成绩的区间分布,优良率,及格率,最高分,最低分,平均分等信息,可以实时对学生成绩进行统计。帮助教师更好的分析学生的考试情况。 ### 具体实现 *** 前端HTML,CCS,JavaScript作为核心组件,使用BootStrap前端开发框架,使用jQuery作为JavaScript库,使用AJAX与服务端进行数据交互,使用Echarts进行可视化展示,使用SweetAlert 弹窗插件与用户进行交互,使用artTemplate模板引擎进行数据遍历与展示。 后端采用Spring框架进行整合,SpringMVC作为Web MVC框架, 使用Mybatis作为持久层框架,使用MySQL作为持久化数据库,使用Redis作为缓存数据库,使用Mybatis PageHelper作为分页技术,使用logback作为日志框架,使用Apache dbcp数据库连接池,使用Mybatis-generator进行自动生成Mapper,使用Maven进行项目依赖管理。 --- **本文档只是对本人毕业设计的说明文档,并没有上传相关的源代码和数据库文件,如有需要,请联系作者:邮箱:13834697883@163.com QQ:2274747912 备注请写明您的意图!**