千家信息网

Java如何实现考试管理系统

发表于:2025-02-16 作者:千家信息网编辑
千家信息网最后更新 2025年02月16日,本篇内容主要讲解"Java如何实现考试管理系统",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Java如何实现考试管理系统"吧!项目简述本系统功能包括:支持
千家信息网最后更新 2025年02月16日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 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<>();    }}

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

  /** * 统一管理学生 教师 管理员信息 */@RestControllerpublic 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"));    }}

学生管理控制器:

/** * 学生控制器 */@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 ListResult qryPage(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安全错误 数据库的锁怎样保障安全 税务网络安全需求 GET获取数据存入数据库 安阳原铄网络技术有限公司 网络安全知识内容过于真实 云服务器能挂淘宝吗 学生网络安全调研 网络安全法知识卡片 汽车软件开发市场价 网络安全法的立法方程式 数据库2014下载 软件开发日常管理制度 实验9 数据库的安全管理 宁波网络安全培训学校 数据库触发器用得多吗 数据库中msgid什么意思 金华高齐网络技术有限公司 南京定制软件开发哪里好 莱州市网络安全监察大队长刘平 上海苹果软件开发大概要多少钱 服务器硬盘为什么会烧 服务器装蓝牙设备 华为软件开发部张华 oracle数据库创建函数语句 西南交大数据库采购2020 网络安全如何保护自己的设备 聊城大学计算机学院数据库期末 阳江招收计算机网络技术人员 汕头软件开发职高 上海运营网络技术服务电话 腾讯云轻量应用服务器可以备案吗
0