基于javaweb的在线考试系统(单选,多选,判断,填空,简答题)(java+springboot+ssm+mysql+html)

运行环境

Java≥8、MySQL≥5.7

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb+springboot的在线考试系统(单选,多选,判断,填空,简答题)(java+Springboot+ssm+mysql+html+maven)

功能:

学生信息 班级 专业 学号 姓名  在线考试 成绩查询 个人信息 密码修改 教师管理 教师编号 姓名  所教科目  题库管理  单选题  多选题 填空题  判断题,简答题(人工阅卷) 试卷管理  新建试卷  在试库中选择试题 试卷设置 发布试卷 考试管理  发布考试计划  学生考试 自动阅卷  人工阅卷 个人信息 密码修改 管理员 学生管理 教师管理 管理员管理 院系管理 班级管理 个人信息 密码修改。

统一管理学生 教师 管理员信息 :

/**

  • 统一管理学生 教师 管理员信息

*/

@RestController

public class UserController {

@Resource(name = “userService”)

private IUserService userService;

/**

  • 查询用户信息

  • 先判断用户类型 在查询用户信息

*/

@RequestMapping(value = “/user/qryUserInfo”, method = RequestMethod.POST, produces = {“application/json;charset=UTF-8”})

public Result qryUserInfo() {

return userService.qryUserInfo();

/**

  • 更新用户信息

*/

@RequestMapping(value = “/user/update”, method = RequestMethod.POST, produces = {“application/json;charset=UTF-8”})

public Result update(HttpRequest request) {

User user = new User();

user.setUserId(request.getString(“user_id”));

user.setName(request.getString(“name”));

user.setSex(request.getInteger(“sex”));

user.setType(User.UserType.get(request.getInteger(“type”)));

return userService.update(user, ImageUtil.stringToBytes(request.getString(“user_image”)));

/**

  • 更新用户密码

*/

@RequestMapping(value = “/user/updatePwd”, method = RequestMethod.POST, produces = {“application/json;charset=UTF-8”})

public Result updatePwd(HttpRequest request) {

return userService.updatePwd(request.getString(“old_pwd”), request.getString(“pwd”));

登录控制层:

@RestController

public class LoginController {

@Resource(name = “loginService”)

private ILoginService loginService;

/**

  • 用户登录调用 在登陆成功生成两个token 同时返回各自首页

    • 学生 student/student
    • 老师 teacher/teacher
    • 管理员 admin/admin

*/

@RequestMapping(value = “/login/login”, method = RequestMethod.POST, produces = {“application/json;charset=UTF-8”})

public Result login(HttpRequest request) {

return loginService.login(request.getString(“login_name”), request.getString(“pwd”));

/**

  • 登录检查

*/

@RequestMapping(value = “/login/check”, method = RequestMethod.POST, produces = {“application/json;charset=UTF-8”})

public Result check() {

return new Result<>();

/**

  • token 续约

*/

@RequestMapping(value = “/login/refresh”, method = RequestMethod.POST, produces = {“application/json;charset=UTF-8”})

public Result refresh(HttpRequest request) {

String refreshToken = request.getString(“refresh_token”);

String urlId = request.getString(“url_id”);

Token token = TokenCache.getInstance().get(urlId);

if(token == null){

ExceptionHelper.error(ErrorCode.ERROR_CODE_0003);

try {

Claims claims = TokenUtils.parseToken(refreshToken);

if (StringUtils.isNotEmpty((String.valueOf(claims.getOrDefault(“student_id”, “”))))) {

claims.put(“student_id”, SessionContext.get(“student_id”));

if (StringUtils.isNotEmpty((String.valueOf(claims.getOrDefault(“teacher_id”, “”))))) {

claims.put(“teacher_id”, SessionContext.get(“teacher_id”));

if (StringUtils.isNotEmpty((String.valueOf(claims.getOrDefault(“login_name”, “”))))) {

claims.put(“login_name”, SessionContext.get(“login_name”));

claims.put(“name”, claims.get(“name”));

token.setToken(TokenUtils.createToken(claims, TokenUtils.expireTime));

token.setRefreshToken(TokenUtils.createToken(claims, TokenUtils.long_expireTime));

TokenCache.getInstance().add(token);

} catch (Exception e) {

ExceptionHelper.error(ErrorCode.ERROR_CODE_0003);

return new Result<>(token);

/**

  • 退出系统

*/

@RequestMapping(value = “/login/exit”, method = RequestMethod.POST, produces = {“application/json;charset=UTF-8”})

public Result exit(HttpRequest request) {

String urlId = request.getString(“url_id”);

if (StringUtils.isNotEmpty(urlId)) {

TokenCache.getInstance().remove(urlId);

return new Result<>();

院系管理控制器:

/**

  • 院系管理控制器

*/

@RestController

public class DepartmentController {

@Resource(name = “departmentService”)

private IDepartmentService departmentService;

/**

  • 查询所有院系

*/

@RequestMapping(value = “/department/qryAllList”, method = RequestMethod.POST, produces = {“application/json;charset=UTF-8”})

@RoleAnnotation(types = {RoleEnum.admin})

public ListResult qryAllList() {

return departmentService.qryAllList();

/**

  • 管理员 查询院系列表

*/

@RequestMapping(value = “/department/qryPage”, method = RequestMethod.POST, produces = {“application/json;charset=UTF-8”})

@RoleAnnotation(types = {RoleEnum.admin})

public ListResult qryPage(HttpRequest request) {

Map<String, Object> param = new HashMap<>();

int pageNo = request.containsKey(“page_no”) ? request.getInteger(“page_no”) : 1;

int pageSize = request.containsKey(“page_size”) ? request.getInteger(“page_size”) : 20;

if (request.containsKey(“department_id”)) {

param.put(“department_id”, request.getString(“department_id”));

if (request.containsKey(“department_name”)) {

param.put(“department_name”, request.getString(“department_name”));

return departmentService.qryPage(param, pageNo, pageSize);

/**

  • 管理员 添加院系

*/

@RequestMapping(value = “/department/add”, method = RequestMethod.POST, produces = {“application/json;charset=UTF-8”})

@RoleAnnotation(types = {RoleEnum.admin})

public Result insert(HttpRequest request) {

Department department = new Department();

department.setDepartmentId(request.getString(“department_id”));

department.setDepartmentName(request.getString(“department_name”));

department.setUpdateTime(new Date());

return departmentService.insert(department);

/**

  • 管理员 更新院系

*/

@RequestMapping(value = “/department/update”, method = RequestMethod.POST, produces = {“application/json;charset=UTF-8”})

@RoleAnnotation(types = {RoleEnum.admin})

public Result update(HttpRequest request) {

Department department = new Department();

department.setDepartmentId(request.getString(“department_id”));

department.setDepartmentName(request.getString(“department_name”));

department.setUpdateTime(new Date());

return departmentService.update(department);

/**

  • 管理员 删除院系

*/

@RequestMapping(value = “/department/del”, method = RequestMethod.POST, produces = {“application/json;charset=UTF-8”})

@RoleAnnotation(types = {RoleEnum.admin})

public Result del(HttpRequest request) {

List departmentIdList = new ArrayList<>();

JSONArray array = request.getJSONArray(“department_id_list”);

for (int i = 0; i < array.size(); i++) {

departmentIdList.add(array.getString(i));

return departmentService.del(departmentIdList);


基于javaweb的在线考试系统(单选,多选,判断,填空,简答题)(java+springboot+ssm+mysql+html)相关推荐

  1. Java项目:在线考试系统(单选,多选,判断,填空,简答题)(java+Springboot+ssm+mysql+html+maven)

    源码获取:博客首页 "资源" 里下载! 功能: 学生信息 班级 专业 学号 姓名  在线考试 成绩查询 个人信息 密码修改 教师管理 教师编号 姓名  所教科目  题库管理  单选 ...

  2. 基于JavaWeb的在线考试系统的设计与实现

    目 录 摘 要 Ⅰ Abstract Ⅱ 1 绪 论 1 1.1 背景 1 1.2 国内外现状 2 1.3 系统开发的目标与意义 2 1.3.1 系统开发目标 2 1.3.2 意义 2 2 开发技术背 ...

  3. java考驾照_基于JavaWeb的驾校考试系统.doc

    基于JavaWeb的驾校考试系统 毕 业 设 计(论 文) 设计(论文)题目: 基于Jsp驾校理论考试 系统设计和开发 学生姓名: 指导教师: 专 业: 班 级: 学 号: 提交日期: 答辩日期: 目 ...

  4. 基于web的在线考试系统的设计与开发

    欢迎添加微信互相交流学习哦! 项目源码:https://gitee.com/oklongmm/biye2 在线考试系统的设计与开发 目录 TOC 1-3 第一章 绪论 1 1.1在线考试系统的研究背景 ...

  5. 基于JavaWeb实现在线租房系统

    ​​​​​​​ 作者主页:编程指南针 简介:Java领域优质创作者.CSDN博客专家  Java项目.简历模板.学习资料.面试题库.技术互助 文末获取源码 项目编号:BS-PT-043 项目运行环境: ...

  6. 基于HTML在线考试系统开题报告,基于JSP的在线考试系统 开题报告.doc

    基于JSP的在线考试系统 开题报告 毕业设计(论文)开题报告 论文题目: 基于JSP的在线考试系统 Online Examination System Based on JSP on JSP 学 生 ...

  7. pop客户机程序流程图_基于.NET的在线考试系统的设计与实现

    基于.NET的在线考试系统的设计与实现(包含任务书,开题报告,毕业论文19000字,程序代码,数据库) 摘  要 随着互联网的发展,人们已经进入了信息时代.在这种环境下,学生希望得到个性化的满足,这使 ...

  8. 基于javaweb的在线游戏商城系统(java+springboot+mybatis+mysql+layui+jsp)

    基于javaweb的在线游戏商城系统(java+springboot+mybatis+mysql+layui+jsp) 运行环境 Java≥8.MySQL≥5.7 开发工具 eclipse/idea/ ...

  9. 基于Web的在线考试系统

    基于Web的在线考试系统     二十一世纪的今天,随着社会的迅猛发展,科技也越来越发达,互联网已经遍布于家家户户,深入到人们的日常生活中.网络技术给我们当今的教育方式的带来了一次历史性的变革,在线考 ...

最新文章

  1. 响应式开发一招致胜 学习视频 分享
  2. AOP实现Android集中式登录架构
  3. 记录华为P40Pro+系列相机参数总结
  4. yii开启gii功能
  5. Linux驱动(7)--最简单的驱动HelloWorld
  6. Of course, Huawei has brought more than just
  7. CSDN网站系统升级公告
  8. typescript 中文手册
  9. oracle 财务云优势,Oracle ERP云助力财务团队提升业务弹性
  10. 业务流程图绘制方法经验谈(上篇)
  11. LeetCode Problems 903
  12. 相关系数excel_如何用Excel计算自相关系数?
  13. 百度竞价有没有好的推广方法?
  14. 金额数字转换成大写,英文。111,壹佰壹拾壹元整,one hundred and eleven yuan
  15. 逆向记录Assaultcube for Mac OS
  16. 8.2 知识蒸馏方法概述
  17. Ubuntu安装企业微信解决中文字体乱码的问题
  18. 数据结构入门6-2(图 - 图的应用)
  19. hashSet不是线程安全的验证
  20. 软件加密保护中加密狗软加密跟硬加密的安全强度

热门文章

  1. 串口Modbus从设备模拟器-DevSimulate
  2. 会计相关计算机知识点,会计电算化知识点总结
  3. Nginx学习(二)
  4. EVT、DVT、PVT是什么意思
  5. php视频网毕业论文范文,毕业设计论文-基于PHP的精品课程网站的设计与实现.doc...
  6. win10怎么关闭自动更新?3大方法!
  7. 利用katalon进行andriod移动端测试
  8. 人生如梦,一樽还酹江月!
  9. Esp8266 mqtt 步进电机远程控制窗帘
  10. 自己写的html编辑器