——————————DescriptionStart——————————
运行环境
Java≥8、MySQL≥5.7
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明






基于javaweb的SpringBoot校园报修管理系统(java+springboot+bootstrap+jsp+maven+mysql)
项目介绍
本项目为后台管理系统,包括管理员与学生两种角色; 学生包含以下功能: 学生提交报修,添加维修,催单,水电缴费,登录页面等功能。
管理员包含以下功能: 查看所有报修单,催单,维修安排,学生管理,添加学生,维修人员管理等功能。
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
4.数据库:MySql 5.7版本;
技术栈
- 后端:SpringBoot 2. 前端:JSP+CSS+JavaScript+jquery+bootstrap
使用说明
运行项目,输入localhost:8080/ 登录
——————————CodeStart——————————
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| logger.info(detail); logger.info(place); logger.info(picMD5);
if (file != null) { try { picMD5 = MD5.getMD5(sno + String.valueOf(System.currentTimeMillis()) + file.getOriginalFilename()); } catch (Exception e) { e.printStackTrace(); System.out.println("*************************************************"); }
String path = httpServletRequest.getSession().getServletContext().getRealPath("/"); System.out.println("图片路径:" + path); String fileName = picMD5; File targetFile = new File(path, fileName); try { OutputStream outputStream = new FileOutputStream(targetFile); InputStream inputStream = file.getInputStream(); byte[] buffer = new byte[2048]; int len = 0; while ((len = inputStream.read(buffer)) != -1) { outputStream.write(buffer, 0, len); } inputStream.close(); outputStream.close(); } catch (IOException e) { e.printStackTrace(); } }
repairService.changeRepair(id, detail, place, picMD5);
return "redirect:/student/repair/" + String.valueOf(id) + "/detail"; }
@RequestMapping(value = "/repair/{repairId}/acceptance", method = RequestMethod.GET) public String acceptance(@PathVariable("repairId") int repairId) { repairService.Acceptance(repairId); return "redirect:/student/dashboard"; }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| String path = httpServletRequest.getSession().getServletContext().getRealPath("/"); System.out.println("图片路径:" + path); String fileName = picMD5; File targetFile = new File(path, fileName); try { InputStream inputStream = file.getInputStream(); OutputStream outputStream = new FileOutputStream(targetFile); byte[] buffer = new byte[2048]; int len = 0; while ((len = inputStream.read(buffer)) != -1) { outputStream.write(buffer, 0, len); } inputStream.close(); outputStream.close(); } catch (IOException e) { e.printStackTrace(); } } else { repairService.submitRepair(detail, place, picMD5, student.getId()); }
return "redirect:/student/dashboard"; }
@RequestMapping(value = "/dashboard", method = RequestMethod.GET) public String board(Model model, HttpServletRequest httpServletRequest) { String id = httpServletRequest.getSession().getAttribute(StudentConst.STUDENT_ID).toString();
List<Repair> repairs = repairService.getRepqirByStudentId(id);
List<RepairInfoVo> repairInfoVos = new ArrayList<>(); for(Repair repair: repairs){ repair.setPicMD5("/"+repair.getPicMD5()); RepairInfoVo repairInfoVo = new RepairInfoVo(repair);
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| * @return */ @RequestMapping(value = "/changeinfo", method = RequestMethod.POST) public @ResponseBody LoginResult changeInfo(String name, String phone, String sexual, HttpSession httpSession, HttpServletResponse httpServletResponse, HttpServletRequest httpServletRequest) { String id = httpServletRequest.getSession().getAttribute(StudentConst.STUDENT_ID).toString(); System.out.println("name:"+name+";phone:"+phone+";sexual:"+sexual); Student student = studentService.getStudentByEmail(id);
if(sexual.equals("男")) { sexual="0"; }else{ sexual="1"; } studentService.changeOtherInfo(student.getId(), Integer.valueOf(sexual), name, phone);
httpServletResponse.addCookie(new Cookie(StudentConst.STUDENT_NAME, student.getName()));
return new LoginResult(true); } } package com.ilovecl.demo.web;
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| return "admin/technician"; }
@RequestMapping(value = "/addtechnician", method = RequestMethod.GET) public String addTechnician(Model model) { return "/admin/addTechnician"; }
@RequestMapping(value = "/addtechnician", method = RequestMethod.POST) public String addTechnician(@RequestParam("name") String name,@RequestParam("number") String number,@RequestParam("phone") String phone, Model model, HttpServletRequest httpServletRequest) {
technicianService.addTechnician(name,number,phone);
return "redirect:/admin/technician"; } } package com.ilovecl.demo.interceptor;
public class StudentSessionInterceptor implements HandlerInterceptor { private Logger logger = LoggerFactory.getLogger(this.getClass());
@Override public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception { Object email = httpServletRequest.getSession().getAttribute(StudentConst.STUDENT_EMAIL); if (email == null) { logger.info("用户尚未登录,将其重定向至登录页面"); httpServletResponse.sendRedirect("/student/login"); return false; }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| repairService.submitRepair(detail, place, picMD5, student.getId());
String path = httpServletRequest.getSession().getServletContext().getRealPath("/"); System.out.println("图片路径:" + path); String fileName = picMD5; File targetFile = new File(path, fileName); try { InputStream inputStream = file.getInputStream(); OutputStream outputStream = new FileOutputStream(targetFile); byte[] buffer = new byte[2048]; int len = 0; while ((len = inputStream.read(buffer)) != -1) { outputStream.write(buffer, 0, len); } inputStream.close(); outputStream.close(); } catch (IOException e) { e.printStackTrace(); } } else { repairService.submitRepair(detail, place, picMD5, student.getId()); }
return "redirect:/student/dashboard"; }
@RequestMapping(value = "/dashboard", method = RequestMethod.GET) public String board(Model model, HttpServletRequest httpServletRequest) { String id = httpServletRequest.getSession().getAttribute(StudentConst.STUDENT_ID).toString();
List<Repair> repairs = repairService.getRepqirByStudentId(id);
List<RepairInfoVo> repairInfoVos = new ArrayList<>(); for(Repair repair: repairs){ repair.setPicMD5("/"+repair.getPicMD5()); RepairInfoVo repairInfoVo = new RepairInfoVo(repair); repairInfoVo.setStatesInfo(RepairEnumCN.stateOf(repair.getStatus()).getStateInfo()); repairInfoVos.add(repairInfoVo); }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| public String acceptance(@PathVariable("repairId") int repairId) { repairService.Acceptance(repairId); return "redirect:/student/dashboard"; }
@RequestMapping(value = "/repair/{repairId}/urgent", method = RequestMethod.GET) public String urgent(@PathVariable("repairId") int repairId, HttpServletRequest httpServletRequest) { String id = httpServletRequest.getSession().getAttribute(StudentConst.STUDENT_ID).toString();
Student student = studentService.getStudentById(id);
urgentRepairService.submitUrgentRepair(repairId, student.getId());
return "redirect:/student/urgent"; }
@RequestMapping(value = "/urgent", method = RequestMethod.GET) public String showUrgent(HttpServletRequest httpServletRequest, Model model) { String id = httpServletRequest.getSession().getAttribute(StudentConst.STUDENT_ID).toString();
Student student = studentService.getStudentById(id);
List<UrgentRepair> urgentRepairs = urgentRepairService.getAllUrgentRepairByStudentId(student.getId());
List<StudentUrgentResult> studentUrgentResults = new ArrayList<StudentUrgentResult>();
String detail = ""; for (UrgentRepair urgentRepair : urgentRepairs) { detail = repairService.getRepairById(urgentRepair.getRepairId()).getDetail(); studentUrgentResults.add(new StudentUrgentResult( urgentRepair.getId(), urgentRepair.getStatus(), UrgentRepairEnum.stateOf(urgentRepair.getStatus()).getStateInfo(), urgentRepair.getRepairId(), detail, urgentRepair.getStudentId(), urgentRepair.getCreateTime())); } model.addAttribute("studentUrgentResults", studentUrgentResults);
|
——————————PayStart——————————
项目链接:
https://javayms.github.io?id=201122532008200qh
https://javayms.pages.dev?id=201122532008200qh