700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Java项目:网上选课系统(java+SSM+jsp+mysql+maven)

Java项目:网上选课系统(java+SSM+jsp+mysql+maven)

时间:2023-05-25 23:52:18

相关推荐

Java项目:网上选课系统(java+SSM+jsp+mysql+maven)

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

一、项目简述

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

二、项目运行

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

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

用户管理控制器:

/*** 用户管理控制器*/@RequestMapping("/user/")@Controllerpublic class UserController {@Autowiredprivate IUserService userService;@Autowiredprivate IRoleService roleService;@Resourceprivate ProcessEngineConfiguration configuration;@Resourceprivate 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("添加用户接口")@ResponseBodypublic 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;}/*** 修改用户信息操作* @param user* @return*/@PostMapping("/editSaveUser")@ApiOperation("修改用户接口")@PreAuthorize("hasRole('管理员')")@ResponseBodypublic 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('管理员')")@ResponseBodypublic 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('管理员')")@ResponseBodypublic 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]]}")})@ResponseBodypublic 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")@ResponseBodypublic 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;}/*** 修改密码页面* @return*/@RequestMapping(value="/update_pwd",method=RequestMethod.GET)public String updatePwd(){return "views/user/update_pwd";}/*** 修改密码操作* @param oldPwd* @param newPwd* @return*/@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();}/*** 清除缓存* @param request* @param response* @return*/@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 {@Autowiredprivate IRoleService roleService;@Autowiredprivate IPermissionService permissionService;@PreAuthorize("hasRole('管理员')")@ResponseBody@RequestMapping("/role/doAdd")public String doAdd(Role role){//角色添加return "ok";}//添加角色@RequestMapping("/role/addRole")@PreAuthorize("hasRole('管理员')")@ResponseBodypublic 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")@ResponseBodypublic PageList listpage(RoleQuery roleQuery){System.out.println("传递参数:"+roleQuery);return roleService.listpage(roleQuery);}//修改用户editSaveUser@RequestMapping("/role/editSaveRole")@ResponseBodypublic 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")@ResponseBodypublic 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")@ResponseBodypublic 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 {@Autowiredprivate IUserService userService;@Autowiredprivate ICourseService courseService;@Autowiredprivate IClassesService classesService;@Resourceprivate ProcessEngine engine;@Autowiredprivate 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")@ResponseBodypublic PageList listpage(UserQuery userQuery){userQuery.setType(3L);//2表示老学生return userService.listpage(userQuery);}/*** 添加学生操作* @param user* @return*/@PostMapping("/addSaveStu")@ApiOperation("添加学生接口")@PreAuthorize("hasRole('管理员')")@ResponseBodypublic 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('管理员')")@ResponseBodypublic 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 = "学生选课")})@ResponseBodypublic 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 {@Autowiredprivate IUserService userService;@Autowiredprivate IClassesService classesService;@Resourceprivate ProcessEngine engine;@Autowiredprivate IOperaterLogService operaterLogService;//老师列表@RequestMapping("/index")public String index(Model model){//用户首页model.addAttribute("classes",classesService.queryAll());return "views/teacher/teacher_list";}@RequestMapping("/listpage")@ResponseBodypublic PageList listpage(UserQuery userQuery){userQuery.setType(2L);//2表示老师return userService.listpage(userQuery);}/*** 添加教师操作* @param user* @return*/@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();}/*** 修改教师操作* @param user* @return*/@PostMapping("/editSaveStu")@ApiOperation("修改教师接口")@PreAuthorize("hasRole('管理员')")@ResponseBodypublic 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("教师信息编辑失败");}}}

成绩管理接口:

@RequestMapping("/score")@Controller@Api(tags = "成绩管理接口")public class ScoreController {@Autowiredprivate IScoreService scoreService;@Autowiredprivate IUserService userService;@Autowiredprivate ICourseService courseService;@Autowiredprivate IOperaterLogService operaterLogService;@GetMapping("/index")@ApiOperation("跳转成绩页接口")public String index(Model model){//查询学生List<User> users = userService.findAllStudent();model.addAttribute("users",users);model.addAttribute("courses",courseService.queryAll());//查询课程return "views/score/score_list";}@GetMapping("/listpage")@ApiOperation("查询成绩分页数据接口")@ApiImplicitParams({@ApiImplicitParam(name = "ScoreQuery", value = "成绩查询对象", defaultValue = "scoreQuery对象")})@ResponseBodypublic PageList listpage(ScoreQuery scoreQuery){return scoreService.listpage(scoreQuery);}/*** 添加成绩操作* @param score* @return*/@PostMapping("/addScore")@ApiOperation("添加成绩接口")@ResponseBodypublic Message addScore(Score score){if(StringUtils.isEmpty(score.getScore())){return Message.error("请填写该学生的成绩");}Map<String, Object> queryMap = new HashMap<>();queryMap.put("userId",score.getUserid());queryMap.put("courseId",score.getCourseid());Score byUidAndCid = scoreService.findByUidAndCid(queryMap);if(byUidAndCid!=null){return Message.error("该学生的课程成绩已经添加过了!");}try {scoreService.addScore(score);operaterLogService.add("添加学生成绩成功");return Message.success();} catch (Exception e) {e.printStackTrace();return Message.error("成绩添加失败");}}@PostMapping(value="/deleteBatchScore")@ApiOperation("批量删除成绩接口")@ApiImplicitParams({@ApiImplicitParam(name = "ids", value = "如:88,89,99")})@ResponseBodypublic AjaxResult deleteBatchScore(String ids){String[] idsArr = ids.split(",");List list = new ArrayList();for(int i=0;i<idsArr.length;i++){list.add(idsArr[i]);}try{scoreService.batchRemove(list);operaterLogService.add("删除学生成绩成功");return new AjaxResult();}catch(Exception e){return new AjaxResult("批量删除失败");}}}

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。