源码获取:博客首页 "资源" 里下载!

功能:

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

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

/*** 统一管理学生 教师 管理员信息*/
@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<User> qryUserInfo() {return userService.qryUserInfo();}/*** 更新用户信息*/@RequestMapping(value = "/user/update", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})public Result<User> 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<User> 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<Token> 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<Token> check() {return new Result<>();}/*** token 续约*/@RequestMapping(value = "/login/refresh", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})public Result<Token> 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<Token> 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<Department> qryAllList() {return departmentService.qryAllList();}/*** 管理员 查询院系列表*/@RequestMapping(value = "/department/qryPage", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})@RoleAnnotation(types = {RoleEnum.admin})public ListResult<Department> 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<Department> 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<Department> 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<Department> del(HttpRequest request) {List<String> 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);}
}

源码获取:博客首页 "资源" 里下载!

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

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

    基于javaweb的在线考试系统(单选,多选,判断,填空,简答题)(java+springboot+ssm+mysql+html) 运行环境 Java≥8.MySQL≥5.7 开发工具 eclipse ...

  2. Java项目:在线考试系统(java+springboot+vue+jsp+mysql+maven)

    源码获取:博客首页 "资源" 里下载! 一.项目简述 本系统主要实现的功能有: 学生以及老师的注册登录,在线考试,错题查询,学生管理,问题管理,错题管理,错题查询,分数查询,试卷管 ...

  3. Java项目:在线考试系统(java+SSM+mysql+JSP)

    源码获取:博客首页 "资源" 里下载! 运行环境:jdk1.8.Mysql5.7.Tomcat8.5.IDEA/Eclipse 功能简介:在线考试.历史回顾.个人成绩查询等. 管理 ...

  4. Java项目:在线考试系统(java+springBoot+vue+Mysql+maven)

    源码获取:博客首页 "资源" 里下载! 管理员和教师登陆此账号就进入后台,学生登陆此账号就进入前端做题. 老师发布了考试,学生才可以在主页面看到相应的考试信息. 有考试安排表以后, ...

  5. 基于Java的在线考试系统(附:源码和课件)

    项目介绍: 本系统是一个基于java的在线考试系统.它的用户由学生.教师和系统管理员组成.学生登陆系统可以进行在线测试和成绩查询.当学生登陆时,系统会随机地为学生选取试题组成考卷.当学生提交考卷后,系 ...

  6. java毕业设计在线考试系统Mybatis+系统+数据库+调试部署

    java毕业设计在线考试系统Mybatis+系统+数据库+调试部署 java毕业设计在线考试系统Mybatis+系统+数据库+调试部署 本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 开 ...

  7. 基于Java毕业设计在线考试系统源码+系统+mysql+lw文档+部署软件

    基于Java毕业设计在线考试系统源码+系统+mysql+lw文档+部署软件 基于Java毕业设计在线考试系统源码+系统+mysql+lw文档+部署软件 本源码技术栈: 项目架构:B/S架构 开发语言: ...

  8. javaweb JAVA JSP在线考试系统网上考试系统jsp网上在线考核网站源码(在线考试报名)

    javaweb JAVA JSP在线考试系统网上考试系统jsp网上在线考核网站源码(在线考试报名) //查询所有角色public List<Role> queryAllRole(){ret ...

  9. java在线考试系统论文心得_基于java的在线考试系统毕业论文

    基于java的在线考试系统毕业论文 芜湖信息技术职业学院 毕业设计(论文) 题目: 基于Java 技术的在线考试 系统的开发 专 业: 软件技术(嵌入式) 班 级: 2009级 1班 学 号: 200 ...

最新文章

  1. ubuntu 默认鼠标双击问题
  2. 官司一打 20 年,Linux 抄袭 Unix 终有定论,原告被 “ 熬死 ” 、IBM赔了上亿
  3. libtool的工作原理
  4. wps大纲栏显示在右边_miui12通知栏在哪
  5. 直男对于产品经理的思考
  6. Azure VNet介绍
  7. hive实现not in
  8. 中国微型计算机分省市产量数据统计,2017年6月中国微型计算机设备产量统计数据分析...
  9. 高清壁纸:60款可爱的圣诞节电脑桌面壁纸《下篇》
  10. RANSAC算法思想与实现点云粗配准
  11. linux 指令安装显卡驱动,Linux 16.04 LTS 安装显卡驱动
  12. OSError: cannot open resource
  13. 【已解决】点击Import Package没有Environment与Effects等问题(从官网下载Environment等相关资源包)
  14. 设计模式——观察者模式(海姆达尔与仙宫人民)
  15. 微信直接打开公众号页面 公众号uin_base64直接获取(不用管理员账号 直接获取)
  16. java炸包_Java 包(package)
  17. 如何实现vue表单验证cron表达式?【亲测有效】
  18. vue全套教程(实操)
  19. jdk1.8,64位linux版本下载路径.永久免费.这是一个爱分享的世界...
  20. 程序员的写作课:四、我们如何管理素材

热门文章

  1. Mac上 如何快速玩起rocksdb
  2. linux进程间通信:system V 信号量 生产者和消费者模型编程案例
  3. 深入理解ceph-disk activate 源码逻辑
  4. 你真的了解Grid布局吗?
  5. [python]关于字符串查找和re正则表达式的效率对比
  6. spring 3.X与jdk 1.8不兼容
  7. SqlServer2008查询性能优化_第一章
  8. JZOJ #4722 跳楼机 (最短路模型的完美转化)
  9. HDU-2084 数塔 经典dp,水
  10. 支付方式(2)——支付宝集成及使用