springmvc实战在线考试系统

springmvc实战在线考试系统,学生自主注册账号,选择自己所在班级,进行在线模拟考试。 项目主要分为用户管理,资源管理,考试管理,试卷管理,作业管理,成绩管理等几个大的模块,针对每个模块划分管理员、教室、学生三种角色,给予每个不同角色相应的页面,操作逻辑以及权限。

技术选型:

  • 前端

    • Html/Css/JavaScript

    • Bootstrap

    • jQuery

    • UploadFive

  • 后端

    • Spring/SpringMVC/Hibernate

    • Spring Security

    • slf4j/log4j

    • Gson

    • POI

    • Druid

  • 数据库

    • MySQL

本地访问地址


http://localhost:8090

管理员帐号admin, 密码admin

项目结构


springmvc实战在线考试系统_第1张图片
项目结构.png

项目截图


  • 注册


    springmvc实战在线考试系统_第2张图片
    注册.png
  • 管理员-公告管理


    springmvc实战在线考试系统_第3张图片
    管理员-公告管理.png
  • 管理员-教师管理


    springmvc实战在线考试系统_第4张图片
    管理员-教师管理.png
  • 教师-试卷管理


    springmvc实战在线考试系统_第5张图片
    教师-试卷管理.png
  • 教师-题库管理


    springmvc实战在线考试系统_第6张图片
    教师-题库管理.png
  • 教师-作业管理


    springmvc实战在线考试系统_第7张图片
    教师-作业管理.png
  • 学生-考试


    springmvc实战在线考试系统_第8张图片
    学生-考试中.png
  • 学生-考试结果


    springmvc实战在线考试系统_第9张图片
    学生-考试结果.png
  • 学生-试题讨论


    springmvc实战在线考试系统_第10张图片
    学生-试题讨论.png
  • 学生-作业下载


    springmvc实战在线考试系统_第11张图片
    学生-作业下载.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.老师角色添加试卷


//前端试卷创建

     返回
//后端处理 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); }
  1. 创建考试,与试卷绑定

//前端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); }
  1. 试卷题目

  1. 学生考试作答

//前端jsp代码

 题目导航

剩余时间

${entity.time}分钟0秒

 ${entity.name}

简答题试卷

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

点击下载

${question.type}题

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


     返回
  1. 学生成绩查询

 我的成绩

<%@include file="/common/show-message.jsp"%>
考试名称 考试试卷 考试日期 成绩

操作流程


  1. admin用户创建老师角色并绑定所属班级

  2. 老师角色登录管理后台,上传题库并创建试卷

  3. 将创建的试卷进行考试绑定,明确告知学生考试是具体那一试卷

  4. 学生自行注册并选中所属班级,注册登录后能看到自己所属班级是有考试

  5. 进行考试作答并提交,等待批改

  6. 查看错题及成绩

  7. 额外还有课件下载及作业和公告查看功能

项目后续

其他ssh,ssm,springboot版本后续迭代更新,请持续关注

你可能感兴趣的:(springmvc实战在线考试系统)