# exam **Repository Path**: chengxubang/exam ## Basic Information - **Project Name**: exam - **Description**: 毕设课设-springmvc实战在线考试系统 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2021-01-12 - **Last Updated**: 2025-02-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README springmvc实战在线考试系统 = 程序有问题联系[程序帮](http://suo.nz/530ijn):QQ1022287044 项目介绍 ---- > springmvc实战在线考试系统,学生自主注册账号,选择自己所在班级,进行在线模拟考试。 项目主要分为用户管理,资源管理,考试管理,试卷管理,作业管理,成绩管理等几个大的模块,针对每个模块划分管理员、教室、学生三种角色,给予每个不同角色相应的页面,操作逻辑以及权限。 项目适用人群 ---- 正在做毕设的学生,或者需要项目实战练习的Java学习者 技术选型: ----- * 前端 * Html/Css/JavaScript * Bootstrap * jQuery * UploadFive * 后端 * Spring/SpringMVC/Hibernate * Spring Security * slf4j/log4j * Gson * POI * Druid * 数据库 * MySQL 项目访问地址 --- ``` http://localhost:8090 管理员帐号admin, 密码admin ``` 项目结构 ----- ![项目结构](/src/image/项目结构.png) 项目截图 ---- - 注册 ![注册](/src/image/注册.png) - 管理员-公告管理 ![管理员-公告管理](/src/image/管理员-公告管理.png) - 管理员-教师管理 ![管理员-教师管理](/src/image/管理员-教师管理.png) - 教师-试卷管理 ![教师-试卷管理](/src/image/教师-试卷管理.png) - 教师-题库管理 ![教师-题库管理](/src/image/教师-题库管理.png) - 教师-作业管理 ![教师-作业管理](/src/image/教师-作业管理.png) - 学生-考试 ![学生-考试](/src/image/学生-考试.png) - 学生-考试结果 ![学生-考试结果](/src/image/学生-考试结果.png) - 学生-试题讨论 ![学生-试题讨论](/src/image/学生-试题讨论.png) - 学生-作业下载 ![学生-作业下载](/src/image/学生-作业下载.png) 数据库配置: ---- ``` db.driver=com.mysql.jdbc.Driver db.url=jdbc:mysql://localhost:3306/exam?useSSL=false&characterEncoding=UTF-8 db.username=root db.password=root123 ``` 具体实现: ----- 1.老师角色添加试卷 ```diff //前端试卷创建
     返回
//后端处理 public String save( @ModelAttribute("entity") ExamPaper examPaper, @RequestParam("file") MultipartFile file) { CallBackMessage msg; try { InputStream inputStream = file.getInputStream(); List questions = ExcelToQuestionUtils.readQuestions(inputStream); inputStream.close(); examPaper.setQuestions(questions); examPaper.setClassId(Integer.valueOf(CurrentUtils.getCurrentUser().getClassId())); return baseSave(examPaper); } catch (IOException e) { e.printStackTrace(); msg = CallBackMessage.createDangerMsg("服务器异常,请重试!"); } catch (EncryptedDocumentException e) { e.printStackTrace(); msg = CallBackMessage.createDangerMsg("题目文档已被加密,无法识别!"); } catch (InvalidFormatException e) { e.printStackTrace(); msg = CallBackMessage.createDangerMsg("题目文档格式有误!"); } catch (IllegalArgumentException e) { e.printStackTrace(); msg = CallBackMessage.createDangerMsg(e.getMessage()); } msg.addToCurrentSession(); return redirect(LIST_PATH); } ``` 2. 创建考试,与试卷绑定 ```diff //前端JSP代码

 考试管理

     返回
//后端入库处理 public String save( @RequestParam("exampaperId") Long exampaperId,@ModelAttribute(ENTITY_ATTRIBUTE_NAME) Exam entity) { ExamPaper examPaper = exampaperService.findByID(exampaperId); examPaper.setClassId(Integer.valueOf(CurrentUtils.getCurrentUser().getClassId())); entity.setExampaper(examPaper); entity.setClassId(Integer.valueOf(CurrentUtils.getCurrentUser().getClassId())); return baseSave(entity); } ``` 3. 试卷题目 ```
``` 4. 学生考试作答 ```diff //前端jsp代码

 题目导航

剩余时间

${entity.time}分钟0秒

 ${entity.name}

简答题试卷

请自行下载简答试卷,答卷完成请及时上传

点击下载

${question.type}题

${st.count}. ${question.content}


     返回
``` 5. 学生成绩查询 ```

 我的成绩

<%@include file="/common/show-message.jsp"%>
考试名称 考试试卷 考试日期 成绩
``` 操作流程 ---- 1. admin用户创建老师角色并绑定所属班级 2. 老师角色登录管理后台,上传题库并创建试卷 3. 将创建的试卷进行考试绑定,明确告知学生考试是具体那一试卷 4. 学生自行注册并选中所属班级,注册登录后能看到自己所属班级是有考试 5. 进行考试作答并提交,等待批改 6. 查看错题及成绩 7. 额外还有课件下载及作业和公告查看功能 项目后续 ---- 其他ssh,ssm,springboot版本后续迭代更新,请持续关注