文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Java怎样实现在线选课系统

2023-06-21 20:09

关注

Java怎样实现在线选课系统,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

一、项目简述

功能: 系统分为三个角色。最高权限管理员,学生,教师,包括 学生管理,教师管理,课程管理,选课,退课,成绩查 询。,教学课程,查看选课名单等等功能完全齐备。

二、项目运行

环境配置: Jdk1.8 + Tomcat8.5 + Mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)

项目技术: JSP +Spring + SpringMVC + MyBatis + Bootstrap4+ css + JavaScript + JQuery + Ajax + particles.js+ maven等等。

Java怎样实现在线选课系统

Java怎样实现在线选课系统

Java怎样实现在线选课系统

Java怎样实现在线选课系统

Java怎样实现在线选课系统

用户管理控制器:

@RequestMapping("/user/")@Controllerpublic class UserController {    @Autowired    private IUserService userService;    @Autowired    private IRoleService roleService;     @Resource    private ProcessEngineConfiguration configuration;    @Resource    private ProcessEngine engine;     @GetMapping("/index")    @ApiOperation("跳转用户页接口")    @PreAuthorize("hasRole('管理员')")    public String index(String menuid,Model model){        List<Role> roles = queryAllRole();        model.addAttribute("roles",roles);        model.addAttribute("menuid",menuid);        //用户首页        return "views/user/user_list";    }     @GetMapping("/listpage")    @ApiOperation("查询用户分页数据接口")    @ApiImplicitParams({            @ApiImplicitParam(name = "UserQuery", value = "用户查询对象", defaultValue = "userQuery对象")    })    @ResponseBody    @PreAuthorize("hasRole('管理员')")    public PageList listpage(UserQuery userQuery){        return  userService.listpage(userQuery);    }     //添加用户    @PostMapping("/addUser")    @ApiOperation("添加用户接口")    @ResponseBody    public Map<String,Object> addUser(User user){        Map<String, Object> ret = new HashMap<>();        ret.put("code",-1);        if(StringUtils.isEmpty(user.getUsername())){            ret.put("msg","请填写用户名");            return ret;        }        if(StringUtils.isEmpty(user.getPassword())){            ret.put("msg","请填写密码");            return ret;        }        if(StringUtils.isEmpty(user.getEmail())){            ret.put("msg","请填写邮箱");            return ret;        }        if(StringUtils.isEmpty(user.getTel())){            ret.put("msg","请填写手机号");            return ret;        }        if(StringUtils.isEmpty(user.getHeadImg())){            ret.put("msg","请上传头像");            return ret;        }        if(userService.addUser(user)<=0) {            ret.put("msg", "添加用户失败");            return ret;        }        ret.put("code",0);        ret.put("msg","添加用户成功");        return ret;    }         @PostMapping("/editSaveUser")    @ApiOperation("修改用户接口")    @PreAuthorize("hasRole('管理员')")    @ResponseBody    public Message editSaveUser(User user){        if(StringUtils.isEmpty(user.getUsername())){          return Message.error("请填写用户名");        }        if(StringUtils.isEmpty(user.getEmail())){            return Message.error("请填写邮箱");        }        if(StringUtils.isEmpty(user.getTel())){            return Message.error("请填写手机号");        }        try {            userService.editSaveUser(user);            return Message.success();        } catch (Exception e) {            e.printStackTrace();            return Message.error("修改用户信息失败");        }     }     //添加用户    @GetMapping("/deleteUser")    @ApiOperation("删除用户接口")    @ApiImplicitParams({            @ApiImplicitParam(name = "id", value = "如:88",required = true)    })    @PreAuthorize("hasRole('管理员')")    @ResponseBody    public AjaxResult deleteUser(@RequestParam(required = true) Long id){        AjaxResult ajaxResult = new AjaxResult();        try {            userService.deleteUser(id);        } catch (Exception e) {            e.printStackTrace();            return new AjaxResult("删除失败");        }         return ajaxResult;    }     @PostMapping(value="/deleteBatchUser")    @ApiOperation("批量删除用户接口")    @PreAuthorize("hasRole('管理员')")    @ResponseBody    public AjaxResult deleteBatchUser(String ids){        String[] idsArr = ids.split(",");        List list = new ArrayList();        for(int i=0;i<idsArr.length;i++){            list.add(idsArr[i]);        }        try{            userService.batchRemove(list);            return new AjaxResult();        }catch(Exception e){           return new AjaxResult("批量删除失败");        }    }     //查询所有角色    public List<Role> queryAllRole(){        return roleService.queryAll();    }     //添加用户的角色    @PostMapping("/addUserRole")    @ApiOperation("添加用户角色接口")    @ApiImplicitParams({            @ApiImplicitParam(name = "paramMap", value = "如:{userId:1,[1,2,3,4]]}")    })    @ResponseBody    public AjaxResult addUserRole(@RequestBody Map paramMap){        AjaxResult ajaxResult = new AjaxResult();        String userId = (String)paramMap.get("userId");        List roleIds = (List) paramMap.get("roleIds");        try {            //添加用户对应的角色            roleService.addUserRole(userId,roleIds);            return ajaxResult;        }catch (Exception e){            e.printStackTrace();            return new AjaxResult("保存角色失败");        }     }        //添加用户    @RequestMapping("/regSaveUser")    @ResponseBody    public Long addTeacher(User user){        System.out.println("保存用户...."+user);        userService.addUser(user);         //保存工作流程操作        IdentityService is = engine.getIdentityService();        // 添加用户组        org.activiti.engine.identity.User userInfo = userService.saveUser(is, user.getUsername());        // 添加用户对应的组关系        Group stuGroup = new GroupEntityImpl();        stuGroup.setId("stuGroup");        Group tGroup = new GroupEntityImpl();        tGroup.setId("tGroup");        if(user.getType() == 2) {            //保存老师组            userService.saveRel(is, userInfo, tGroup);        }        if(user.getType() == 3) {            //保存学生组            userService.saveRel(is, userInfo, stuGroup);        }         Long userId = user.getId();        return userId;    }         @RequestMapping(value="/update_pwd",method=RequestMethod.GET)    public String updatePwd(){        return "views/user/update_pwd";    }         @ResponseBody    @PostMapping("/update_pwd")    public Message updatePassword(@RequestParam(name="oldPwd",required=true)String oldPwd,                                  @RequestParam(name="newPwd",required=true)String newPwd){        String username = CommonUtils.getLoginUser().getUsername();        User userByUserName = userService.findUserByUserName(username);        if(userByUserName!=null){            String password = userByUserName.getPassword();            BCryptPasswordEncoder bCryptPasswordEncoder = new BCryptPasswordEncoder();            boolean matches = bCryptPasswordEncoder.matches(oldPwd, password);            if(!matches){                return Message.error("旧密码不正确");//true            }            userByUserName.setPassword(bCryptPasswordEncoder.encode(newPwd));             if(userService.editUserPassword(userByUserName)<=0){                return Message.error("密码修改失败");            }        }        return Message.success();    }         @ResponseBody    @PostMapping("/clear_cache")    public Message clearCache(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        response.setHeader("Cache-Control","no-store");        response.setHeader("Pragrma","no-cache");        response.setDateHeader("Expires",0);      return  Message.success();    }}

角色控制器:

@Controllerpublic class RoleController {     @Autowired    private IRoleService roleService;     @Autowired    private IPermissionService permissionService;        @PreAuthorize("hasRole('管理员')")    @ResponseBody    @RequestMapping("/role/doAdd")    public String doAdd(Role role){        //角色添加        return "ok";    }    //添加角色    @RequestMapping("/role/addRole")    @PreAuthorize("hasRole('管理员')")    @ResponseBody    public AjaxResult addRole(Role role){        System.out.println("保存角色...."+role);        try {            roleService.saveRole(role);            return new AjaxResult();        } catch (Exception e) {            e.printStackTrace();            return new AjaxResult("操作失败");        }    }     @PreAuthorize("hasRole('管理员')")    @RequestMapping("/role/index")    public String index(Model model){        List<Permission> permisisons = permissionService.findAllPermisisons();        model.addAttribute("permissions",permisisons);        //返回角色        return "views/role/role_list";    }     @RequestMapping("/role/listpage")    @ResponseBody    public PageList listpage(RoleQuery roleQuery){        System.out.println("传递参数:"+roleQuery);        return  roleService.listpage(roleQuery);    }      //修改用户editSaveUser    @RequestMapping("/role/editSaveRole")    @ResponseBody    public AjaxResult editSaveRole(Role role){        System.out.println("修改角色...."+role);        try {            roleService.editSaveRole(role);            return new AjaxResult();        } catch (Exception e) {            e.printStackTrace();        }        return new AjaxResult("修改失败");    }     //添加角色    @RequestMapping("/role/deleteRole")    @ResponseBody    public AjaxResult deleteRole(Long id){        System.out.println("删除角色...."+id);        AjaxResult ajaxResult = new AjaxResult();        try {            roleService.deleteRole(id);        } catch (Exception e) {            e.printStackTrace();            return new AjaxResult("删除失败");        }        return ajaxResult;    }     //添加角色权限 addRolePermission    @RequestMapping("/role/addRolePermission")    @ResponseBody    public AjaxResult addRolePermission(@RequestBody Map paramMap){        AjaxResult ajaxResult = new AjaxResult();        String roleId = (String)paramMap.get("roleId");        List permissionIds = (List) paramMap.get("permissionIds");        try {            //添加角色对应的权限            roleService.addRolePermission(roleId,permissionIds);            return ajaxResult;        }catch (Exception e){            e.printStackTrace();            return new AjaxResult("保存权限失败");        }     } }

学生控制器:

@RequestMapping("/student")@Controller@Api(tags = "学生管理接口")public class StudentController {     @Autowired    private IUserService userService;     @Autowired    private ICourseService courseService;     @Autowired    private IClassesService classesService;    @Resource    private ProcessEngine engine;     @Autowired    private IOperaterLogService operaterLogService;     //老师列表    //后台查询学生列表    @RequestMapping("/index")    public String index(Model model){        //用户首页        model.addAttribute("courses",courseService.queryAll());        model.addAttribute("classes",classesService.queryAll());        return "views/student/student_list";    }     @RequestMapping("/listpage")    @ResponseBody    public PageList listpage(UserQuery userQuery){        userQuery.setType(3L);//2表示老学生        return  userService.listpage(userQuery);    }         @PostMapping("/addSaveStu")    @ApiOperation("添加学生接口")    @PreAuthorize("hasRole('管理员')")    @ResponseBody    public Message addSaveStudent(User user){        if(StringUtils.isEmpty(user.getUsername())){            return Message.error("请填写用户名");        }        if(StringUtils.isEmpty(user.getPassword())){            return Message.error("请填写密码");        }        if(StringUtils.isEmpty(user.getEmail())){            return Message.error("请填写邮箱");        }        if(StringUtils.isEmpty(user.getTel())){            return Message.error("请填写手机号");        }        if(StringUtils.isEmpty(user.getStunum())){            return Message.error("请填写学号");        }        User userByUserName = userService.findUserByUserName(user.getUsername());        if(userByUserName!=null){            return Message.error("用户名已存在");        }        if(userService.findByStuNum(user.getStunum())!=null){            return Message.error("该学号已存在");        }        user.setType(3);        if(userService.addUser(user)<=0){            return Message.error("学生添加失败");        }        //保存工作流程操作        IdentityService is = engine.getIdentityService();        // 添加用户组        org.activiti.engine.identity.User userInfo = userService.saveUser(is, user.getUsername());        // 添加用户对应的组关系        Group stuGroup = new GroupEntityImpl();        stuGroup.setId("stuGroup");        userService.saveRel(is, userInfo, stuGroup);        operaterLogService.add("添加学生成功,学生名称:"+user.getUsername());        return Message.success();    }       //修改用户editSaveUser    @PostMapping("/editSaveStu")    @ApiOperation("修改学生接口")    @PreAuthorize("hasRole('管理员')")    @ResponseBody    public Message editSaveStu(User user){        if(StringUtils.isEmpty(user.getUsername())){            return Message.error("请填写用户名");        }        if(StringUtils.isEmpty(user.getEmail())){            return Message.error("请填写邮箱");        }        if(StringUtils.isEmpty(user.getTel())){            return Message.error("请填写手机号");        }        User userByUserName = userService.findUserByUserName(user.getUsername());        if(userByUserName!=null){            if(!userByUserName.getId().equals(user.getId())){                return Message.error("该用户名已存在");            }        }        try {            userService.editSaveUser(user);            operaterLogService.add("编辑学生成功,学生名称:"+user.getUsername());            return Message.success();        } catch (Exception e) {            e.printStackTrace();            return Message.error("学生编辑失败");        }     }     //editSaveStuXk    @PostMapping("/editSaveStuXk")    @ApiOperation("修改用户接口")    @ApiImplicitParams({            @ApiImplicitParam(name = "User", value = "学生选课")    })    @ResponseBody    public AjaxResult editSaveStuXk(User user){        try {            userService.editSaveXk(user);            operaterLogService.add("修改学生选课成功,学生名称:"+user.getUsername());            return new AjaxResult();        } catch (Exception e) {            e.printStackTrace();        }        return new AjaxResult("修改失败");    }   }

教师管理控制器:

@RequestMapping("/teacher")@Controller@Api(tags = "教师管理接口")public class TeacherController {     @Autowired    private IUserService userService;     @Autowired    private IClassesService classesService;    @Resource    private ProcessEngine engine;    @Autowired    private IOperaterLogService operaterLogService;      //老师列表    @RequestMapping("/index")    public String index(Model model){        //用户首页        model.addAttribute("classes",classesService.queryAll());        return "views/teacher/teacher_list";    }     @RequestMapping("/listpage")    @ResponseBody    public PageList listpage(UserQuery userQuery){        userQuery.setType(2L);//2表示老师        return  userService.listpage(userQuery);    }         @PostMapping("/addTeacher")    @ApiOperation("添加教师接口")    @ResponseBody    @PreAuthorize("hasRole('管理员')")    public Message addTeacher(User user){        if(StringUtils.isEmpty(user.getUsername())){            return Message.error("请填写用户名");        }        if(StringUtils.isEmpty(user.getPassword())){            return Message.error("请填写密码");        }        if(StringUtils.isEmpty(user.getEmail())){            return Message.error("请填写邮箱");        }        if(StringUtils.isEmpty(user.getTel())){            return Message.error("请填写手机号");        }        User userByUserName = userService.findUserByUserName(user.getUsername());        if(userByUserName!=null){            return Message.error("用户名已存在");        }        user.setType(2);        if(userService.addUser(user)<=0){            return Message.error("教师添加失败");        }        //保存工作流程操作        IdentityService is = engine.getIdentityService();        // 添加用户组        org.activiti.engine.identity.User userInfo = userService.saveUser(is, user.getUsername());        Group tGroup = new GroupEntityImpl();        tGroup.setId("tGroup");        userService.saveRel(is, userInfo, tGroup);        operaterLogService.add("添加教师成功,教师名称:"+user.getUsername());        return Message.success();    }          @PostMapping("/editSaveStu")    @ApiOperation("修改教师接口")    @PreAuthorize("hasRole('管理员')")    @ResponseBody    public Message editSaveStu(User user){        if(StringUtils.isEmpty(user.getUsername())){            return Message.error("请填写用户名");        }        if(StringUtils.isEmpty(user.getEmail())){            return Message.error("请填写邮箱");        }        if(StringUtils.isEmpty(user.getTel())){            return Message.error("请填写手机号");        }        User userByUserName = userService.findUserByUserName(user.getUsername());        if(userByUserName!=null){            if(!userByUserName.getId().equals(user.getId())){                return Message.error("该用户名已存在");            }        }        try {            userService.editSaveUser(user);            operaterLogService.add("编辑教师成功,教师名称:"+user.getUsername());            return Message.success();        } catch (Exception e) {            e.printStackTrace();            return Message.error("教师信息编辑失败");        }     }  }

看完上述内容,你们掌握Java怎样实现在线选课系统的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网行业资讯频道,感谢各位的阅读!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯