Java如何实现考试管理系统
发表于:2024-11-14 作者:千家信息网编辑
千家信息网最后更新 2024年11月14日,本篇内容主要讲解"Java如何实现考试管理系统",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Java如何实现考试管理系统"吧!项目简述本系统功能包括:支持
千家信息网最后更新 2024年11月14日Java如何实现考试管理系统
本篇内容主要讲解"Java如何实现考试管理系统",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Java如何实现考试管理系统"吧!
项目简述
本系统功能包括:
支持单选题、多选题、判断题支持学生(student)、教师(teacher)、管理员(admin)三种角色学生:参加考试和查看我的考试教师:学生的所有权限+创建/编辑题目+创建/编辑考试管理员:教师的所有权限+管理用户。
项目运行
环境配置:
Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。
项目技术
Springboot + Maven + Jpa+ Vue 等等组成,B/S模式 + Maven管理等等。
效果图展示
主要代码
登录控制层:
@RestControllerpublic 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 Resultlogin(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<>(); }}
统一管理学生 教师 管理员信息:
/** * 统一管理学生 教师 管理员信息 */@RestControllerpublic class UserController { @Resource(name = "userService") private IUserService userService; /** * 查询用户信息 * 先判断用户类型 在查询用户信息 */ @RequestMapping(value = "/user/qryUserInfo", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public ResultqryUserInfo() { 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")); }}
学生管理控制器:
/** * 学生控制器 */@RestControllerpublic class StudentController { @Resource(name = "studentService") private IStudentService studentService; /** * 管理员 查询学生列表 */ @RequestMapping(value = "/student/qryPage", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RoleAnnotation(types = {RoleEnum.admin}) public ListResultqryPage(HttpRequest request) { Map 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("student_id")) { param.put("student_id", request.getString("student_id")); } if (request.containsKey("name")) { param.put("name", request.getString("name")); } return studentService.qryPage(param, pageNo, pageSize); } @RequestMapping(value = "/student/add", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RoleAnnotation(types = {RoleEnum.admin}) public Result insert(HttpRequest request) { Student student = new Student(); student.setStudentId(request.getString("student_id")); student.setName(request.getString("student_name")); student.setPwd(request.getString("student_id")); student.setSex(request.getInteger("sex")); student.setClassId(request.getString("class_id")); student.setUpdateTime(new Date()); return studentService.insert(student, ImageUtil.stringToBytes(request.getString("student_image"))); } @RequestMapping(value = "/student/update", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RoleAnnotation(types = {RoleEnum.admin}) public Result update(HttpRequest request) { Student student = new Student(); student.setStudentId(request.getString("student_id")); student.setName(request.getString("student_name")); student.setPwd(request.getString("student_id")); student.setSex(request.getInteger("sex")); student.setClassId(request.getString("class_id")); student.setUpdateTime(new Date()); return studentService.update(student, ImageUtil.stringToBytes(request.getString("student_image"))); } @RequestMapping(value = "/student/del", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RoleAnnotation(types = {RoleEnum.admin}) public Result del(HttpRequest request) { List studentIdList = new ArrayList<>(); JSONArray array = request.getJSONArray("student_id_list"); for (int i = 0; i < array.size(); i++) { studentIdList.add(array.getString(i)); } return studentService.del(studentIdList); } }
到此,相信大家对"Java如何实现考试管理系统"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
管理
学生
用户
考试
管理员
系统
信息
教师
查询
管理系统
项目
控制
支持
登录
内容
控制器
权限
选题
学习
更新
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
碧蓝航线十字军行动服务器怎么进
万荣县融媒体网络安全挂标
数据库搜索关键字语句
正版服务器系统怎么激活
京瓷4850服务器
交换机远程acl服务器管理
名企c软件开发岗面试
excel连接的数据库是什么
企业网络安全展板
dh cp服务器的网关是什么
肥西网络技术服务
金仓数据库初始化失败
属于网络层的网络安全事件
django连接mysql数据库
软件开发部年底分红模式
下拉框查找数据库数据
数据库中性别用什么类型
成都安倍诺网络技术有限公司
互联网金融科技股
漳州市网络安全知识
软件开发项目概算指南最新
魔兽服务器排名
数据库SQL复制
图书数据库概念设计
基本数据库英文
服务器安全组新建规则
网络安全法视频短片
色 18岁 美利坚 服务器
生物信息学相关的数据库
嘉韦斯杯网络安全