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

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

运行环境

Java≥8、MySQL≥5.7

开发工具

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

适用

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

功能说明

20220819210036

20220819210037

20220819210038

20220819210039

20220819210040

20220819210042

基于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(te

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值