• Java项目:在线健身房管理系统(java+SpringBoot+JSP+HTML+maven+mysql)


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

    一、项目运行

    环境配置:

    Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)

    项目技术:

    JSP +SpringBoot + MyBatis + html+ css + JavaScript + JQuery + Ajax + maven等等。
     

     

     

     

     

     

    器材管理Controller控制层:

    1. @Controller
    2. @RequestMapping("/qc")
    3. public class EquipmentController {
    4. @Autowired
    5. private EquipmentDaoImpl equipmentDao;
    6. /**
    7. * @Description: 器材管理-进入器材信息界面
    8. * xiaoc
    9. * @Date: 2020/4/12
    10. */
    11. @RequestMapping("/yemian")
    12. public String yemian(){
    13. return "WEB-INF/jsp/CEquipment";
    14. }
    15. /**
    16. * @Description: 器材管理-根据器材名称分页查询
    17. * xiaoc
    18. * @Date: 2020/4/12
    19. */
    20. @RequestMapping("/query")
    21. @ResponseBody
    22. public Map<String,Object> query(String hyname, int pageSize, int pageNumber){
    23. Map<String,Object> map1=new HashMap<String,Object>();
    24. map1.put("hyname",hyname);
    25. map1.put("qi",(pageNumber-1)*pageSize);
    26. map1.put("shi",pageSize);
    27. return equipmentDao.query(map1);
    28. }
    29. /**
    30. * @Description: 器材管理-添加器材
    31. * xiaoc
    32. * @Date: 2020/4/12
    33. */
    34. @RequestMapping("/insert")
    35. @ResponseBody
    36. public Map<String,Object> insert(Equipment equipment){
    37. equipmentDao.insert(equipment);
    38. return query("",5,1);
    39. }
    40. /**
    41. * @Description: 器材管理-根据器材id删除
    42. * xiaoc
    43. * @Date: 2020/4/12
    44. */
    45. @RequestMapping("/delete")
    46. @ResponseBody
    47. public Map<String,Object> del(int eqId){
    48. equipmentDao.del(eqId);
    49. return query("",5,1);
    50. }
    51. }

    管理员登录Controller控制层:

    1. @Controller
    2. @RequestMapping("/")
    3. public class AdminuserConntroller {
    4. @Autowired
    5. private AdminuserDao adminuserDao;
    6. /**
    7. * @Description: 输入端口号直接跳转登录界面
    8. * xiaoc
    9. * @Date: 2020/4/29
    10. */
    11. @RequestMapping("/")
    12. public String beforeLogin(){
    13. return "login";
    14. }
    15. /**
    16. * @Description: 管理员登录验证方法
    17. * xiaoc
    18. * @Date: 2020/4/4
    19. */
    20. @RequestMapping("/dl/yz")
    21. public String login(String username, String password,HttpSession httpSession,Model model){
    22. Subject subject= SecurityUtils.getSubject();
    23. UsernamePasswordToken userToken=new UsernamePasswordToken(username,DigestUtils.md5Hex(password));
    24. try{
    25. subject.login(userToken);
    26. Adminuser a= adminuserDao.findByAdminNameAndAdminPassword(username,DigestUtils.md5Hex(password));
    27. httpSession.setAttribute("user",a);
    28. return "WEB-INF/jsp/index";
    29. }catch (UnknownAccountException e){
    30. model.addAttribute("msg","用户名或密码错误,请重新输入");
    31. return "login";
    32. }
    33. /*Adminuser a= adminuserDao.findByAdminNameAndAdminmima(username,password);
    34. if(a!=null){
    35. httpSession.setAttribute("user",a);
    36. return "WEB-INF/jsp/index" ;
    37. }
    38. model.addAttribute("mag","账号或密码错误");
    39. return "login";*/
    40. }
    41. /**
    42. * @Description: 退出登录后清楚session
    43. * xiaoc
    44. * @Date: 2020/5/1
    45. */
    46. @RequestMapping("/logout")
    47. public String logout(){
    48. Subject subject = SecurityUtils.getSubject();
    49. subject.logout();
    50. return "redirect:/login";
    51. }
    52. /**
    53. * @Description: 跳转到修改密码界面
    54. * xiaoc
    55. * @Date: 2020/5/1
    56. */
    57. @RequestMapping("/updPassword")
    58. public String updPassword(){
    59. return "WEB-INF/jsp/updPassword";
    60. }
    61. /**
    62. * @Description: 修改密码
    63. * xiaoc
    64. * @Date: 2020/5/1
    65. */
    66. @RequestMapping("/upd/updPassword")
    67. public String updPasswordConfirm(String oldPassword,String newPassword,String newPasswordAgain,HttpSession httpSession,Model model){
    68. Pattern p = Pattern.compile("^(?=.*[A-Za-z])(?=.*\\d)(?=.*[$@$!.%*#?&])[A-Za-z\\d$@$!.%*#?&]{8,}$");
    69. Matcher m = p.matcher(newPassword);
    70. if(!m.matches()){
    71. model.addAttribute("msg","新密码最少为8位并为字母+数字+特殊字符");
    72. return "WEB-INF/jsp/updPassword";
    73. }
    74. if(!newPassword.equals(newPasswordAgain)){
    75. model.addAttribute("msg","两次输入新密码不一致,请重新输入");
    76. return "WEB-INF/jsp/updPassword";
    77. }
    78. Adminuser adminuser=(Adminuser) httpSession.getAttribute("user");
    79. if(null != adminuser){
    80. if(!adminuser.getAdminPassword().equals(DigestUtils.md5Hex(oldPassword))){
    81. model.addAttribute("msg","原密码不正确,请重新输入");
    82. return "WEB-INF/jsp/updPassword";
    83. }
    84. adminuserDao.updPassword(adminuser.getAdminId(), DigestUtils.md5Hex(newPassword));
    85. }
    86. Subject subject = SecurityUtils.getSubject();
    87. subject.logout();
    88. return "redirect:/login.jsp";
    89. }
    90. }

    课程管理Controller控制层:

    1. @Controller
    2. @RequestMapping("/subject")
    3. public class SubjectController {
    4. @Autowired
    5. private SubjectDaoImpl subjectDaoImpl;
    6. @Autowired
    7. private SubjectDao subjectDao;
    8. @Autowired
    9. private PrivateCoachInfoDao privateCoachInfoDao;
    10. /**
    11. * @Description: 课程管理-进入课程信息界面
    12. * xiaoc
    13. * @Date: 2020/4/8
    14. */
    15. @RequestMapping("/jin7")
    16. public String jin7(){
    17. return "WEB-INF/jsp/subject";
    18. }
    19. /**
    20. * @Description: 课程管理-根据课程名称分页查询
    21. * xiaoc
    22. * @Date: 2020/4/8
    23. */
    24. @RequestMapping("/query")
    25. @ResponseBody
    26. public Map<String,Object> query(String subname, int pageSize, int pageNumber){
    27. Map<String,Object> map1=new HashMap<String,Object>();
    28. map1.put("subname",subname);
    29. map1.put("qi",(pageNumber-1)*pageSize);
    30. map1.put("shi",pageSize);
    31. return subjectDaoImpl.query(map1);
    32. }
    33. /**
    34. * @Description: 课程管理-根据课程id删除课程
    35. * xiaoc
    36. * @Date: 2020/4/8
    37. */
    38. @RequestMapping("/del")
    39. @ResponseBody
    40. public Map<String,Object> del(long subId,String subname, int pageSize, int pageNumber){
    41. //先根据教练id在私教信息表里查询是否有其信息
    42. List<PrivateCoachInfo> privateCoachInfoList = privateCoachInfoDao.queryBySubjectIdNative(subId);
    43. if(privateCoachInfoList !=null && privateCoachInfoList.size() > 0){
    44. //如果有,先循环删除
    45. for(PrivateCoachInfo privateCoachInfo : privateCoachInfoList){
    46. if(subId == privateCoachInfo.getSubject().getSubId()){
    47. privateCoachInfoDao.delete(privateCoachInfo);
    48. }
    49. }
    50. }
    51. subjectDao.deleteById(subId);
    52. Map<String,Object> map1=new HashMap<String,Object>();
    53. map1.put("subname",subname);
    54. map1.put("qi",(pageNumber-1)*pageSize);
    55. map1.put("shi",pageSize);
    56. return subjectDaoImpl.query(map1);
    57. }
    58. /**
    59. * @Description: 课程管理-添加课程
    60. * xiaoc
    61. * @Date: 2020/4/8
    62. */
    63. @RequestMapping("/add")
    64. @ResponseBody
    65. public void save(Subject subject){
    66. subjectDao.save(subject);
    67. }
    68. /**
    69. * @Description: 课程管理-根据课程id查询课程信息
    70. * xiaoc
    71. * @Date: 2020/4/8
    72. */
    73. @RequestMapping("/cha")
    74. @ResponseBody
    75. public Optional<Subject> one(long subId){
    76. return subjectDao.findById(subId);
    77. }
    78. /**
    79. * @Description: 课程管理-修改课程信息
    80. * xiaoc
    81. * @Date: 2020/4/8
    82. */
    83. @RequestMapping("/upd")
    84. @ResponseBody
    85. public void upd(Subject subject){
    86. subjectDao.save(subject);
    87. }
    88. /**
    89. * @Description: 课程管理-根据课程名称计算总课程数据
    90. * xiaoc
    91. * @Date: 2020/4/8
    92. */
    93. @RequestMapping("/count")
    94. @ResponseBody
    95. public Long count (String subname){
    96. subjectDaoImpl.count(subname);
    97. return subjectDaoImpl.count(subname);
    98. }
    99. }

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

  • 相关阅读:
    LeetCode:689. 三个无重叠子数组的最大和(dp C++)
    20220720-工作心得【初级数据分析师】
    python datetime模块
    工具让公众号推送变得轻而易举
    spfa求存在负权边的最短路
    竞赛选题 深度学习YOLO抽烟行为检测 - python opencv
    java 云MAS业务平台_中国移动
    随着年龄增长,我应该怎样对抗肌肉流失?
    java计算机毕业设计付费自习室管理系统源码+mysql数据库+系统+lw文档+部署
    数据治理实战——翼支付金融板块业务数仓建设和数据治理之路
  • 原文地址:https://blog.csdn.net/m0_66863468/article/details/124818414