基于javaweb的校园报修管理系统(java+springboot+bootstrap+jsp+mysql)

运行环境

Java≥8、MySQL≥5.7

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb+mysql的校园报修管理系统(java+Springboot+bootstrap+JSP+maven+Mysql)

项目介绍

本项目为后台管理系统,包括管理员与学生两种角色; 学生包含以下功能: 学生提交报修,添加维修,催单,水电缴费,登录页面等功能。

管理员包含以下功能: 查看所有报修单,催单,维修安排,学生管理,添加学生,维修人员管理等功能。

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;  5.数据库:MySql 5.7版本; 6.是否Maven项目:是;

技术栈

  1. 后端:SpringBoot 2. 前端:JSP+CSS+JavaScript+jquery+bootstrap

使用说明

  1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven; 若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中application.properties配置文件中的数据库配置改为自己的配置; 4. 运行项目,输入localhost:8080/ 登录

系统管理员端的控制器:

/**

  • 系统管理员端的控制器

*/

@Controller

@RequestMapping(value = “/admin”)

public class AdminController {

private Logger logger = LoggerFactory.getLogger(this.getClass());

@Resource

private RepairService repairService;

@Resource

private StudentService studentService;

@Resource

private AdminService adminService;

@Resource

private UrgentRepairService urgentRepairService;

@Resource

private MaintenanceService maintenanceService;

@Resource

private TechnicianService technicianService;

@Resource

private DoorDao doorDao;

@RequestMapping(value = “/login”, method = RequestMethod.GET)

public String login(Model model) {

return “redirect:…/student/login”;

@RequestMapping(value = “/login”, method = RequestMethod.POST)

@ResponseBody

public LoginResult login(int id, String password, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) {

logger.info(“admin login===”);

logger.info("admin id: "+id);

logger.info("admin password: "+password);

logger.info(“admin login===”);

Admin admin = adminService.getAdminById(id);

LoginResult loginResult = null;

if(admin==null){

logger.info(“admin null”);

loginResult = new LoginResult(false);

}else{

String psw = admin.getPassword();

logger.info(“admin password:”+psw);

//密码正确

if(psw.equals(password)){

loginResult = new LoginResult(true);

httpServletRequest.getSession().setAttribute(“ADMIN_ID”, id);

httpServletResponse.addCookie(new Cookie(“ADMIN_ID”, String.valueOf(id)));

}else{

loginResult = new LoginResult(false);

if(!loginResult.isSuccess()){

loginResult.setReason(“invalid user”);

logger.info(“LoginResult:”+loginResult);

return loginResult;

@RequestMapping(value = “/logout”, method = RequestMethod.GET)

public String logout(HttpSession httpSession) {

logger.info(“退出要移除的sessionId是:”+httpSession.getId());

httpSession.removeAttribute(“ADMIN_ID”);

return “redirect:…/student/login”;

@RequestMapping(value = “/dashboard”, method = RequestMethod.GET)

public String dashboard(Model model, HttpServletRequest httpServletRequest) {

List repairs = repairService.getAllUnFinish();

Student student;

List repairInfoVos = new ArrayList<>();

for(Repair repair:repairs){

student = studentService.getStudentById(repair.getStudentId());

RepairInfoVo repairInfoVo = new RepairInfoVo(student, repair);

repairInfoVo.setStatesInfo(RepairEnumCN.stateOf(repair.getStatus()).getStateInfo());

repairInfoVos.add(repairInfoVo);

model.addAttribute(“repairInfoVos”, repairInfoVos);

return “/admin/dashboard”;

@RequestMapping(value = “/repair/{repairId}/detail”, method = RequestMethod.GET)

public String detailRepair(@PathVariable(“repairId”) int repairId, Model model) {

Repair repair;

repair = repairService.getRepairById(repairId);

repair.setPicMD5(“/” + repair.getPicMD5());

RepairInfoVo repairInfoVo = new RepairInfoVo(repair);

repairInfoVo.setStatesInfo(RepairEnumCN.stateOf(repair.getStatus()).getStateInfo());

model.addAttribute(“repairInfoVo”, repairInfoVo);

return “admin/detail”;

@RequestMapping(value = “/repair/{repairId}/cancel”, method = RequestMethod.GET)

public String cancelRepair(@PathVariable(“repairId”) int repairId) {

repairService.cancelRepair(repairId);

return “redirect:/admin/dashboard”;

@RequestMapping(value = “/repair/{repairId}/confirm”, method = RequestMethod.GET)

public String confirmRepair(@PathVariable(“repairId”) int repairId) {

repairService.confirmRepair(repairId);

return “redirect:/admin/dashboard”;

@RequestMapping(value = “/repair/{repairId}/arrange”, method = RequestMethod.GET)

public String arrangeRepair(@PathVariable(“repairId”) int repairId, Model model) {

Repair repair = repairService.getRepairById(repairId);

if (repair.getStatus() == RepairEnum.REPAIR_ARRANGED.getState())

return “redirect:/admin/repair/” + String.valueOf(repairId) + “/detail”;

List techniciens = technicianService.getAllTechnician();

model.addAttribute(“repair”, repair);

model.addAttribute(“techniciens”, techniciens);

return “/admin/addArrange”;

@RequestMapping(value = “/maintenance/{repairId}/add”, method = RequestMethod.POST)

public String submitArrange(@PathVariable(“repairId”) int repairId, @RequestParam(“technicianId”) String technicianId) {

// 解决表单提交时乱码的问题(JSP在表单提交时默认采用ISO-8859-1编码)

try {

technicianId = new String(technicianId.getBytes(“ISO-8859-1”), “utf8”);

} catch (UnsupportedEncodingException e) {

e.printStackTrace();

repairService.arrangeRepair(repairId, Integer.valueOf(technicianId));

return “redirect:/admin/dashboard”;

@RequestMapping(value = “/finish”, method = RequestMethod.GET)

public String finish(Model model) {

List repairs = repairService.getAllFinish();

Student student;

List repairInfoVos = new ArrayList<>();

for(Repair repair: repairs){

student = studentService.getStudentById(repair.getStudentId());

RepairInfoVo repairInfoVo = new RepairInfoVo(student, repair);

repairInfoVo.setStatesInfo(RepairEnumCN.stateOf(repair.getStatus()).getStateInfo());

repairInfoVos.add(repairInfoVo);

model.addAttribute(“repairInfoVos”, repairInfoVos);

return “/admin/finish”;

@RequestMapping(value = “/urgent”, method = RequestMethod.GET)

public String urgent(Model model) {

List urgentRepairs = urgentRepairService.getAllUrgentRepair();

List urgentRepairResults = new ArrayList();

Student student;

Repair repair;

for (UrgentRepair urgentRepair : urgentRepairs) {

repair = repairService.getRepairById(urgentRepair.getRepairId());

student = studentService.getStudentById(urgentRepair.getStudentId());

urgentRepairResults.add(

new UrgentRepairResult

(urgentRepair.getId(),

urgentRepair.getStatus(), UrgentRepairEnum.stateOf(urgentRepair.getStatus()).getStateInfo(),

urgentRepair.getRepairId(), repair.getDetail(),

urgentRepair.getStudentId(), student.getName(),

new Timestamp(System.currentTimeMillis())));

model.addAttribute(“list”, urgentRepairResults);

return “/admin/urgent”;

@RequestMapping(value = “/urgent/{repairId}/delete”, method = RequestMethod.GET)

public String deleteUrgent(@PathVariable(“repairId”) int repairId) {

urgentRepairService.checkUrgentRepair(repairId);

return “redirect:/admin/urgent”;

@RequestMapping(value = “/arrange”, method = RequestMethod.GET)

public String arrange(Model model) {

List maintenances = maintenanceService.getAll();

List maintenanceResults = new ArrayList();

Repair repair;

Technician technician;

for (Maintenance maintenance : maintenances) {

repair = repairService.getRepairById(maintenance.getRepairId());

// 以下状态的报修单对应的维修记录就没必要显示了

// 1. 被学生删除

// 2. 学生同意取消

// 3. 已经验收

if (repair.getStatus() == RepairEnum.DELETED_BY_STUDENT.getState()

|| repair.getStatus() == RepairEnum.CANCELED_AGREE.getState()

|| repair.getStatus() == RepairEnum.CONFIRM.getState())

continue;

technician = technicianService.getById(maintenance.getTechnicianId());

maintenanceResults.add(

new MaintenanceResult(

maintenance.getId(),

maintenance.getRepairId(), repair.getDetail(),

maintenance.getTechnicianId(), technician.getName(),

new Timestamp(System.currentTimeMillis())

);

model.addAttribute(“list”, maintenanceResults);

return “/admin/arrange”;

@RequestMapping(value = “/arrange/{maintenanceId}/cancel”, method = RequestMethod.GET)

public String cancelArrange(@PathVariable(“maintenanceId”) int maintenanceId) {

Maintenance maintenance = maintenanceService.getById(maintenanceId);

// 删除检修安排记录

maintenanceService.cancelMaintenance(maintenanceId);

// 同时也修改相应的维修单的状态

repairService.unArrangeRepair(maintenance.getRepairId());

return “redirect:/admin/arrange”;

@RequestMapping(value = “/student”, method = RequestMethod.GET)

public String student(Model model) {

List students = studentService.getAll();

List studentResults = new ArrayList();

for (Student student : students) {

studentResults.add(new StudentResult(

student.getId(), student.getName(), student.getPassword(),

student.getSexual(), student.getSexual() == 0 ? “男” : “女”,

student.getEmail(), student.getPhone(), student.getDoor())

);

model.addAttribute(“students”, studentResults);

return “admin/student”;

@RequestMapping(value = “/addstudent”, method = RequestMethod.GET)

public String addStudent(Model model) {

return “/admin/addStudent”;

@RequestMapping(value = “/addstudent”, method = RequestMethod.POST)

public String addStudent(@RequestParam(“name”) String name, @RequestParam(“email”) String email,

@RequestParam(“password”) String password, @RequestParam(“sexual”) String sexual,

@RequestParam(“phone”) String phone,@RequestParam(“door”) String door, Model model, HttpServletRequest httpServletRequest) {

int sex = sexual.equals(“男”) ? 0 : 1;

studentService.addStudent(System.currentTimeMillis()+“”, name, password, sex, email, phone, door);

Door door2 = doorDao.queryByName(door);

if (door2==null) {

Door doorObject = new Door();

doorObject.setDate(new Date(System.currentTimeMillis()));

doorObject.setId(System.currentTimeMillis()+“”);

doorObject.setName(door);

doorObject.setPower(“100”);

doorObject.setWater(“100”);

doorDao.add(doorObject);

return “redirect:/admin/student”;

@RequestMapping(value = “/technician”, method = RequestMethod.GET)

public String technician(Model model) {

List techniciens = technicianService.getAllTechnician();

model.addAttribute(“techniciens”, techniciens);

return “admin/technician”;

/**

  • 添加维修人员 GET方法

  • @param model

  • @return

*/

@RequestMapping(value = “/addtechnician”, method = RequestMethod.GET)

public String addTechnician(Model model) {

return “/admin/addTechnician”;

/**

  • 添加维修人员 POST方法

  • @param model

  • @return

*/

@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”;

用户的web层:

/**

  • 用户的web层

*/

@Controller

@CrossOrigin(origins = {“http://localhost:18084”, “null”})

@RequestMapping(“/student”)

public class StudentController {

private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Resource

private StudentService studentService;

@Resource

private RepairService repairService;

@Resource

private UrgentRepairService urgentRepairService;

@Resource

private DoorDao doorDao;

@RequestMapping(value = “/introduce”, method = RequestMethod.GET)

public String index() {

return “student/introduce”;

/**

  • 登录的GET方法

  • @return

*/

@RequestMapping(value = “/login”, method = RequestMethod.GET)

public String login() {

return “student/login”;

/**

  • 登录的POST方法

  • @param id

  • @param password

  • @param httpSession

  • @return

*/

@RequestMapping(value = “/login”, method = RequestMethod.POST)

public

@ResponseBody

LoginResult login(String id, String password, HttpSession httpSession, HttpServletResponse httpServletResponse) {

LoginResult loginResult=null;

String stuName = null;

Student student = studentService.getStudentById(id);

Spider spider = new Spider();

try {

//调用service将数据存入数据库中

if(student==null){

// stuName = spider.getStudentName(id, password);

// student = new Student(id, stuName, password);

// System.out.println(stuName);

// studentService.addStudent(id, stuName, password, 0, “”, “”);

loginResult = new LoginResult(true);

loginResult.setReason(“invalid user”);

}else{

stuName = student.getName();

// 密码正确

if (student.getPassword().equals(password)) {

loginResult = new LoginResult(true);

} else {

loginResult = new LoginResult(false);

loginResult.setReason(“invalid user”);

} catch (Exception e) {

e.printStackTrace();

if(loginResult.isSuccess()){

// 登录成功后,为该学生生成session

httpSession.setAttribute(StudentConst.STUDENT_ID, id);

httpServletResponse.addCookie(new Cookie(StudentConst.STUDENT_ID, id));

System.out.println(“StudentName:”+StudentConst.STUDENT_NAME);

httpServletResponse.addCookie(new Cookie(StudentConst.STUDENT_NAME, stuName));

logger.info(“***************************************************************************”);

logger.info("登录: " + String.valueOf(loginResult.isSuccess()) + " id : " + id + " password : " + password);

logger.info(“***************************************************************************”);

return loginResult;

/**

  • 退出的控制

  • @param httpSession

  • @return

*/

@RequestMapping(value = “/logout”, method = RequestMethod.GET)

public String logout(HttpSession httpSession) {

httpSession.removeAttribute(StudentConst.STUDENT_EMAIL);

return “redirect:/student/login”;

/**

  • 提交报修单的POST方法

  • @param model

  • @return

*/

@RequestMapping(value = “/commit”, method = RequestMethod.GET)

public String commit(Model model) {

return “/student/commit”;

@RequestMapping(value = “/commit”, method = RequestMethod.POST)

public String commit(@RequestParam(“detail”) String detail, @RequestParam(“place”) String place,

@RequestParam(“file”) MultipartFile file, HttpServletRequest httpServletRequest) {

String id = httpServletRequest.getSession().getAttribute(StudentConst.STUDENT_ID).toString();

Student student = studentService.getStudentById(id);

String picMD5 = “”;

logger.info(detail);

logger.info(place);

logger.info(picMD5);

try {

logger.info(file.getInputStream().toString());

} catch (IOException e) {

e.printStackTrace();

if (file != null) {

try {

picMD5 = MD5.getMD5(id + String.valueOf(System.currentTimeMillis()) + file.getOriginalFilename());

} catch (Exception e) {

e.printStackTrace();

// 往数据库中插入维修单记录

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”;

/**

  • 获取显示的主页面

  • @param model

  • @return

*/

@RequestMapping(value = “/dashboard”, method = RequestMethod.GET)

public String board(Model model, HttpServletRequest httpServletRequest) {

String id = httpServletRequest.getSession().getAttribute(StudentConst.STUDENT_ID).toString();

List repairs = repairService.getRepqirByStudentId(id);

List 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);

model.addAttribute(“repairInfoVos”, repairInfoVos);

return “/student/dashboard”;

/**

  • 报修单详情

  • @param repairId

  • @param model

  • @return

*/

@RequestMapping(value = “/repair/{repairId}/detail”, method = RequestMethod.GET)

public String detail(@PathVariable(“repairId”) int repairId, Model model) {

Repair repair = repairService.getRepairById(repairId);

repair.setPicMD5(“/” + repair.getPicMD5());

RepairInfoVo repairInfoVo = new RepairInfoVo(repair);

repairInfoVo.setStatesInfo(RepairEnumCN.stateOf(repair.getStatus()).getStateInfo());

model.addAttribute(“repairInfoVo”, repairInfoVo);

return “student/detail”;

/**

  • 删除报修单

  • @param repairId

  • @return

*/

@RequestMapping(value = “/repair/{repairId}/delete”, method = RequestMethod.GET)

public String delete(@PathVariable(“repairId”) int repairId) {

repairService.deleteRepair(repairId);

return “redirect:/student/dashboard”;

/**

  • 修改报修单

  • @param repairId

  • @param model

  • @return

*/

@RequestMapping(value = “/repair/{repairId}/update”, method = RequestMethod.GET)

public String update(@PathVariable(“repairId”) int repairId, Model model) {

Repair repair = repairService.getRepairById(repairId);

model.addAttribute(“repair”, repair);

return “/student/update”;

/**

  • 修改报修单

  • @return

*/

@RequestMapping(value = “/repair/{repairId}/update”, method = RequestMethod.POST)

public String update(@PathVariable(“repairId”) int repairId, @RequestParam(“detail”) String detail, @RequestParam(“place”) String place,

@RequestParam(“file”) MultipartFile file, HttpServletRequest httpServletRequest) {

String sno = httpServletRequest.getSession().getAttribute(StudentConst.STUDENT_ID).toString();

int id = repairId;

String picMD5 = “”;

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”;

/**

  • 验收报修单

  • @param repairId

  • @return

*/

@RequestMapping(value = “/repair/{repairId}/acceptance”, method = RequestMethod.GET)

public String acceptance(@PathVariable(“repairId”) int repairId) {

repairService.Acceptance(repairId);

return “redirect:/student/dashboard”;

/**

  • 将报修单标记为催单

  • @param repairId

  • @param httpServletRequest

  • @return

*/

@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”;

/**

  • 查看所有的催单

  • @param httpServletRequest

  • @param model

  • @return

*/

@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 urgentRepairs = urgentRepairService.getAllUrgentRepairByStudentId(student.getId());

List studentUrgentResults = new ArrayList();

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);

return “student/urgent”;

/**

  • 删除某条催单

  • @param repairId

  • @param httpServletRequest

  • @return

*/

@RequestMapping(value = “/urgent/{repairId}/delete”, method = RequestMethod.GET)

public String deleteUrgent(@PathVariable(“repairId”) int repairId, HttpServletRequest httpServletRequest) {

String id = httpServletRequest.getSession().getAttribute(StudentConst.STUDENT_ID).toString();

Student student = studentService.getStudentById(id);

urgentRepairService.deleteUrgentRepair(repairId);

return “redirect:/student/urgent”;

/**

  • 重新提交某条催单

  • @param repairId

  • @return

*/

@RequestMapping(value = “/urgent/{repairId}/resubmit”, method = RequestMethod.GET)

public String reSubmitUrgent(@PathVariable(“repairId”) int repairId) {

urgentRepairService.reSubmit(repairId);

return “redirect:/student/urgent”;

/**

  • 获取所有待取消的报修单

  • @param httpServletRequest

  • @param model

  • @return

*/

@RequestMapping(value = “/tobecanceled”, method = RequestMethod.GET)

public String toBeCanceled(HttpServletRequest httpServletRequest, Model model) {

String id = httpServletRequest.getSession().getAttribute(StudentConst.STUDENT_ID).toString();

List repairs = repairService.getAllToBeCanceledById(id);

List 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);

model.addAttribute(“repairInfoVos”, repairInfoVos);

return “student/tobecanceled”;

/**

  • 同意取消报修单

  • @param repairId

  • @param httpServletRequest

  • @return

*/

@RequestMapping(value = “/tobecanceled/{repairId}/agree”, method = RequestMethod.GET)

public String agreeCanceled(@PathVariable(“repairId”) int repairId, HttpServletRequest httpServletRequest) {

String id = httpServletRequest.getSession().getAttribute(StudentConst.STUDENT_ID).toString();

Student student = studentService.getStudentByEmail(id);

repairService.agreeToBeCanceled(repairId);

return “redirect:/student/tobecanceled”;

/**

  • 拒绝取消报修单

  • @param repairId

  • @param httpServletRequest

  • @return

*/

@RequestMapping(value = “/tobecanceled/{repairId}/reject”, method = RequestMethod.GET)

public String rejectCanceled(@PathVariable(“repairId”) int repairId, HttpServletRequest httpServletRequest) {

String id = httpServletRequest.getSession().getAttribute(StudentConst.STUDENT_ID).toString();

repairService.rejectToBeCanceled(repairId);

return “redirect:/student/tobecanceled”;

/**

  • 获取个人信息的控制器

  • @param httpServletRequest

  • @param model

  • @return

*/

@RequestMapping(value = “/info”, method = RequestMethod.GET)

public String infomation(HttpServletRequest httpServletRequest, Model model) {

String id = httpServletRequest.getSession().getAttribute(StudentConst.STUDENT_ID).toString();

Student student = studentService.getStudentById(id);

StudentResult studentResult = new StudentResult(

student.getId(), student.getName(), student.getPassword(),

student.getSexual(), student.getSexual() == 0 ? “男” : “女”,

student.getEmail(), student.getPhone(), student.getDoor());

model.addAttribute(“student”, studentResult);

return “student/info”;

/**

  • 修改密码的控制器

  • @param password

  • @param httpSession

  • @param httpServletResponse

  • @param httpServletRequest

  • @return

*/

@RequestMapping(value = “/changepassword”, method = RequestMethod.POST)

public

@ResponseBody

LoginResult changePassword(String password, HttpSession httpSession, HttpServletResponse httpServletResponse, HttpServletRequest httpServletRequest) {

String id = httpServletRequest.getSession().getAttribute(StudentConst.STUDENT_ID).toString();

Student student = studentService.getStudentByEmail(id);

studentService.changePassword(student.getId(), password);

return new LoginResult(true);

/**

  • 修改其它资料

  • @param name

  • @param phone

  • @param sexual

  • @param httpSession

  • @param httpServletResponse

  • @param httpServletRequest

  • @return

*/

@RequestMapping(value = “/feelist”, method = RequestMethod.GET)

public String feelist( Model model, HttpSession httpSession, HttpServletResponse httpServletResponse, HttpServletRequest httpServletRequest) {

String id = httpServletRequest.getSession().getAttribute(StudentConst.STUDENT_ID).toString();

Student student = studentService.getStudentById(id);

String doorName = student.getDoor();

Door door = doorDao.queryByName(doorName);

model.addAttribute(“fee”, door);

return “student/feelist”;

@RequestMapping(value = “/feeupload”, method = RequestMethod.GET)

public String feeupload(Model model,HttpSession httpSession, HttpServletResponse httpServletResponse, HttpServletRequest httpServletRequest) {

String id = httpServletRequest.getSession().getAttribute(StudentConst.STUDENT_ID).toString();

Student student = studentService.getStudentById(id);

String doorName = student.getDoor();

Door door = doorDao.queryByName(doorName);

model.addAttribute(“feeup”, door);

return “student/feeupload”;

/**

  • 缴费

  • @param model

  • @param httpSession

  • @param httpServletResponse

  • @param httpServletRequest

  • @return

*/

@RequestMapping(value = “/uploadfee”, method = RequestMethod.POST)

public String uploadfee(String name, String water, String power,Model model,HttpSession httpSession, HttpServletResponse httpServletResponse, HttpServletRequest httpServletRequest) {

String id = null;

try {

id = httpServletRequest.getSession().getAttribute(StudentConst.STUDENT_ID).toString();

} catch (NullPointerException e1) {

return “student/login”;

Student student = studentService.getStudentById(id);

String doorName = student.getDoor();

Door door = doorDao.queryByName(doorName);

double waterInput = 0;

double PowerInput = 0;

double waterDB = 0;

double powerDB = 0;

try {

waterInput = Double.parseDouble(water);

} catch (NumberFormatException e) {

waterInput = 0;

try {

PowerInput = Double.parseDouble(power);

} catch (NumberFormatException e) {

PowerInput = 0;

try {

waterDB = Double.parseDouble(door.getWater());

} catch (NumberFormatException e) {

waterDB = 0;

try {

powerDB = Double.parseDouble(door.getPower());

} catch (NumberFormatException e) {

powerDB = 0;

door.setWater( waterDB+waterInput+“”);

door.setPower( powerDB+PowerInput+“”);

door.setDate(new Date(System.currentTimeMillis()));

doorDao.update(door);

model.addAttribute(“fee”, door);

return “student/feelist”;

/**

  • 修改其它资料

  • @param name

  • @param phone

  • @param sexual

  • @param httpSession

  • @param httpServletResponse

  • @param httpServletRequest

  • @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);

学生登录验证的拦截器:

/**

  • 学生登录验证的拦截器

*/

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;

return true;

@Override

public void postHandle(HttpServletRequest hsr, HttpServletResponse hsr1, Object o, ModelAndView mav) throws Exception {

@Override

public void afterCompletion(HttpServletRequest hsr, HttpServletResponse hsr1, Object o, Exception excptn) throws Exception {


基于javaweb的校园报修管理系统(java+springboot+bootstrap+jsp+mysql)相关推荐

  1. 基于javaweb的图书馆借阅管理系统(java+springboot+bootstrap+html+mysql)

    基于javaweb的图书馆借阅管理系统(java+springboot+bootstrap+html+mysql) 运行环境 Java≥8.MySQL≥5.7 开发工具 eclipse/idea/my ...

  2. 基于javaweb的蓝天幼儿园管理系统(java+springboot+thymeleaf+html+mysql)

    基于javaweb的蓝天幼儿园管理系统(java+springboot+thymeleaf+html+mysql) 运行环境 Java≥8.MySQL≥5.7 开发工具 eclipse/idea/my ...

  3. 基于javaweb的平行志愿管理系统(java+springboot+mybatis+vue+mysql)

    基于javaweb的平行志愿管理系统(java+springboot+mybatis+vue+mysql) 运行环境 Java≥8.MySQL≥5.7.Node.js≥10 开发工具 后端:eclip ...

  4. 基于javaweb的汽车配件销售管理系统(java+springboot+layui+html+mysql)

    基于javaweb的汽车配件销售管理系统(java+springboot+layui+html+mysql) 运行环境 Java≥8.MySQL≥5.7 开发工具 eclipse/idea/myecl ...

  5. 基于javaweb的精品养老院管理系统(java+springboot+mybatis+vue+mysql)

    基于javaweb的精品养老院管理系统(java+springboot+mybatis+vue+mysql) 运行环境 Java≥8.MySQL≥5.7.Node.js≥10 开发工具 后端:ecli ...

  6. 基于javaweb的电影院会员管理系统(java+springboot+vue+element-ui+mysql)

    基于javaweb的电影院会员管理系统(java+springboot+vue+element-ui+mysql) 运行环境 Java≥8.MySQL≥5.7.Node.js≥10 开发工具 后端:e ...

  7. 基于javaweb的调查问卷管理系统(java+springboot+vue+elementui+mysql)

    基于javaweb的调查问卷管理系统(java+springboot+vue+elementui+mysql) 运行环境 Java≥8.MySQL≥5.7.Node.js≥10 开发工具 后端:ecl ...

  8. 基于javaweb的学生选课管理系统(java+ssm+bootstrap+javascript+mysql)

    基于javaweb的学生选课管理系统(java+ssm+bootstrap+javascript+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/ ...

  9. 基于javaweb+SSM的养老院管理系统(java+SSM+BootStrap+jsp+Maven+mysql)

    养老院管理系统 该系统主要功能室养老院系统,采用mvc三层架构 1.采用技术书spring.springmvc.mybatis.maven等技术 2.数据库是mysql,共11张表 3.前端使用boo ...

最新文章

  1. C++知识点26——使用C++标准库(常用的泛型算法1)
  2. Linux下给挂载U盘或者SD卡
  3. windows编程一日一练(3)
  4. ubuntu的home目录下,Desktop等目录消失不见
  5. 用nginx做了一下反向代理,得到的ip地址都是127.0.0.1
  6. [读书笔记] Effective C++
  7. IE6不支持hover赋予css样式的解决方法 如div:hover li:hover支持
  8. [Ext JS] 组件浮动一篇通(floating、alignTo)
  9. oracle中的多表连接
  10. jprofiler 9注册码
  11. 时间穿越问题:时间因速度引力而不同,空间又无法精确定位
  12. 通讯录_你有多久没翻过通讯录了?
  13. grads 风向杆值大小
  14. 小米10性能再进化!小米带来国内安卓系统GPU驱动首次更新——初阶GPU及其驱动升级认识
  15. 塑胶模具设计:产品分型面、插靠破、潜水进胶注意事项
  16. TSC打印机,利用javascript实现连续扫码自动打印,配置说明
  17. 电脑速度变慢的原因及处理方法
  18. java excel 单元格类型,POI Excel 单元格内容类型判断并取值
  19. 从零开始搭建Node.js, Express, Ejs, Mongodb服务器
  20. 2018《财富》世界500强出炉,比500强更多的财富在这里!—创成汇

热门文章

  1. 文秘与计算机应用,18文秘02李荧 随着现代科学技术的发展,计算机已经
  2. 使用storm统计英文版圣经的词频
  3. Ubuntu SCIM输入法的安装
  4. CVTE笔试(2021年暑期实习)
  5. 关于学连锁经营管理专业的问题_百度知道
  6. jakarta.servlet.Filter is in unnamed module of loader java.net.URLClassLoader去除
  7. Nacos 是如何同时实现AP与CP的
  8. 网站性能优化之DNS预解析
  9. cortex a7 a53_15万的“A7“终于到店!长4米9+大溜背+2.0T,同级颜值最强!|内饰|索纳塔|现代索纳塔|大溜...
  10. 基于FVM的应力求解