一、项目运行
环境配置:
Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)
项目技术:
JSP + Servlert + html+ css + JavaScript + JQuery + Ajax 等等;
二、效果图
三、核心代码
个人中心Controller
/** * 个人中心Controller */ @Controller public class UserInforController { @Autowired private UserInforServiceImpl userInforService = null; /** * 修改密码操作 * @param oldPassword * @param newPassword * @param rePassword * @param httpSession * @return */ @RequestMapping("changePassword.do") @ResponseBody public MapchangePassword(String oldPassword, String newPassword, String rePassword, HttpSession httpSession){ HashMap map = new HashMap (); if (newPassword.equals(rePassword)){ SystemManager admin = (SystemManager) httpSession.getAttribute("admin"); String encodeByMD5 = MD5Utils.encodeByMD5(oldPassword); if (encodeByMD5.equals(admin.getSmPassword())){ String newPasswords = MD5Utils.encodeByMD5(newPassword); admin.setSmPassword(newPasswords); userInforService.updateSystemManagePassword(admin.getSmId(),admin); map.put("type","success"); map.put("msg","密码修改成功"); return map; }else{ map.put("type","error"); map.put("msg","原密码错误"); return map; } }else{ map.put("type","error"); map.put("msg","两次密码不一致"); return map; } } /** * 员工修改个人密码 * @param oldPassword * @param newPassword * @param rePassword * @param httpSession * @return */ @RequestMapping("changeEmployeePassword.do") @ResponseBody public Map changeEmployeePassword(String oldPassword, String newPassword, String rePassword, HttpSession httpSession){ HashMap map = new HashMap (); if (newPassword.equals(rePassword)){ Integer eid = (Integer) httpSession.getAttribute("employeeId"); try { userInforService.updateEmployeePassword(eid, oldPassword, newPassword); map.put("type","success"); map.put("msg","密码修改成功"); return map; } catch (CustomException e) { map.put("type","error"); map.put("msg","原密码错误"); return map; } }else{ map.put("type","error"); map.put("msg","两次密码不一致"); return map; } } /** * 查看个人信息 * @param httpSession * @return */ @RequestMapping("inforEmployee.do") public @ResponseBody EmployeeCustomVo getInforEmployee(HttpSession httpSession){ Integer id = (Integer) httpSession.getAttribute("employeeId"); EmployeeCustomVo employeeCustomVo = userInforService.getInforEmployee(id); return employeeCustomVo; } /** * 修改个人信息 * @param httpSession * @param employee * @return */ @ResponseBody @RequestMapping("updateInforEmployee.do") public Message updateInforEmployee(HttpSession httpSession, Employee employee){ Integer id = (Integer) httpSession.getAttribute("employeeId"); employee.seteId(id); if(userInforService.updateEmploueeById(id,employee)<=0) { return Message.error("修改信息失败"); } return Message.success(); } /** * 个人工资信息 * @param pageNum * @param limit * @param year * @param httpSession * @return * @throws Exception */ @RequestMapping("employeeSalaryList.do") @ResponseBody public EmployeeSalaryVO findSelective( @RequestParam(value="page", defaultValue="1")int pageNum, @RequestParam(value="limit", defaultValue="10") int limit, @RequestParam(value="year", defaultValue="1") String year, HttpSession httpSession) throws Exception { Integer eId = (Integer) httpSession.getAttribute("employeeId"); //pageNum:起始页面 pageSize:每页的大小 PageHelper.startPage(pageNum,limit); //查找条件,一定要紧跟在startPage后 List salaryList = userInforService.getEmployeeSalaryList(eId, year); PageInfo pageResult = new PageInfo(salaryList); //设置前台需要的数据 EmployeeSalaryVO employeeSalaryVO = new EmployeeSalaryVO(); employeeSalaryVO.setCode(0); employeeSalaryVO.setMsg(""); employeeSalaryVO.setCount((int) pageResult.getTotal()); employeeSalaryVO.setData(pageResult.getList()); return employeeSalaryVO; } }
管理员和员工登陆控制
/** * @Author: admin * @Description: 管理员和员工登陆控制 **/ @Controller public class LoginController { @Autowired private LoginServiceImpl loginService = null; /** * @Author: admin * @Description: 验证码变更 * @Date: 14:33 2021/10/5 * @Param: [request, response] * @Return: void **/ @RequestMapping(value = "/changeCode.do") @ResponseBody public void getIdentifyingCode(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 验证码存储在session的identifyingCode,属性中 CaptchaUtil.outputCaptcha(request, response); } // 获取员工登陆界面 @RequestMapping("/") public String getLoginPage(){ return "employee/login.html"; } // 获取管理员登陆界面 @RequestMapping("/admin.do") public String getAdminLoginPage(HttpServletRequest request){ String realPath = request.getServletContext().getRealPath("/"); request.getSession().setAttribute("realPath", realPath); return "admin/adminLogin.html"; } /** * 员工登录操作 * @param model * @param httpSession * @param username * @param password * @param identifyingcode * @return */ @RequestMapping(value = "/employeeLogin.do") @ResponseBody public Message employeeLogin(HttpSession httpSession, String username, String password, String identifyingcode) { if(StringUtils.isEmpty(username)) { return Message.error("请填写工号"); } if(StringUtils.isEmpty(password)) { return Message.error("请填写密码"); } if(StringUtils.isEmpty(identifyingcode)) { return Message.error("请填写验证码"); } String code = (String) httpSession.getAttribute("identifyingCode"); if(!identifyingcode.equalsIgnoreCase(code)){ return Message.error("验证码错误"); } Employee employee = loginService.findEmployeeByIdAndPassword(username, password); if(employee==null) { return Message.error("工号或密码错误"); } httpSession.setAttribute("employeeId",employee.geteId()); return Message.success("员工登录成功"); } @RequestMapping(value = "/loginSuccess.do") public String loginSucceses(Model model) throws Exception { return "employee/index.html"; } /** * 管理员登录操作 * @param model * @param httpSession * @param username * @param password * @param identifyingcode * @return */ @RequestMapping(value = "/adminLogin.do") @ResponseBody public Message adminLogin(HttpSession httpSession, String username, String password, String identifyingcode) { if(StringUtils.isEmpty(username)) { return Message.error("请填写账号"); } if(StringUtils.isEmpty(password)) { return Message.error("请填写密码"); } if(StringUtils.isEmpty(identifyingcode)) { return Message.error("请填写验证码"); } String code = (String) httpSession.getAttribute("identifyingCode"); if(identifyingcode.equalsIgnoreCase(code)){ SystemManager manager = loginService.findSystemManagerByIdAndPassword(username, password); if(manager==null) { return Message.error("账号或密码错误"); } // 保存到session httpSession.setAttribute("admin",manager); return Message.success("登录成功"); }else { return Message.error("验证码错误"); } } @RequestMapping(value = "/getAdminAccount.do") @ResponseBody public String getAdminAccount(HttpSession httpSession){ SystemManager systemManager = (SystemManager) httpSession.getAttribute("admin"); // SystemManager manager = loginService.findSystemManagerById(id); return systemManager.getSmAccount(); } @RequestMapping(value = "/getEmployeeAccount.do") @ResponseBody public MapgetEmployeeAccount(HttpSession httpSession){ Integer id = (Integer) httpSession.getAttribute("employeeId"); Employee employee = loginService.findEmployeeById(id); HashMap map = new HashMap (); map.put("account",employee.geteAccount()); map.put("name",employee.geteName()); return map; } @RequestMapping(value = "/logout.do") public String logout(HttpSession httpSession){ httpSession.removeAttribute("employeeId"); return "redirect:/"; } @RequestMapping(value = "/logoutAdmin.do") public String logoutAdmin(HttpSession httpSession){ httpSession.removeAttribute("admin"); return "redirect:/admin.do"; } }
用户管理操作
/** * 用户管理操作 */ @Controller @RequestMapping("/user") public class UserController { @Autowired private UserService userService; /** * 用户添加页面 * @return */ @GetMapping("/add") public String create() { return "user/add"; } /** * 用户添加操作 * @param user * @return */ @PostMapping("/add") @ResponseBody public Mapadd(@RequestBody User user) { if(StringUtils.isEmpty(user.getUserName())){ return MapControl.getInstance().error("请填写用户名").getMap(); } if(StringUtils.isEmpty(user.getName())){ return MapControl.getInstance().error("请填写名称").getMap(); } if(StringUtils.isEmpty(user.getUserPwd())){ return MapControl.getInstance().error("请填写密码").getMap(); } int result = userService.create(user); if (result <= 0) { return MapControl.getInstance().error().getMap(); } return MapControl.getInstance().success().getMap(); } /** * 根据id删除 * @param id * @return */ @PostMapping("/delete/{id}") @ResponseBody public Map delete(@PathVariable("id") Integer id) { int result = userService.delete(id); if (result <= 0) { return MapControl.getInstance().error().getMap(); } return MapControl.getInstance().success().getMap(); } //批量删除 @PostMapping("/delete") @ResponseBody public Map delete(String ids) { int result = userService.delete(ids); if (result <= 0) { return MapControl.getInstance().error().getMap(); } return MapControl.getInstance().success().getMap(); } /** * 编辑用户信息操作 * @param user * @return */ @PostMapping("/edit") @ResponseBody public Map edit(@RequestBody User user) { if(StringUtils.isEmpty(user.getUserName())){ return MapControl.getInstance().error("请填写用户名").getMap(); } if(StringUtils.isEmpty(user.getName())){ return MapControl.getInstance().error("请填写名称").getMap(); } if(StringUtils.isEmpty(user.getUserPwd())){ return MapControl.getInstance().error("请填写密码").getMap(); } int result = userService.update(user); if (result <= 0) { return MapControl.getInstance().error().getMap(); } return MapControl.getInstance().success().getMap(); } /** * 根据id查询,跳转修改页面 * @param id * @param modelMap * @return */ @GetMapping("/edit/{id}") public String edit(@PathVariable("id") Integer id, ModelMap modelMap) { User user = userService.detail(id); modelMap.addAttribute("user", user); return "user/edit"; } //查询所有 @PostMapping("/query") @ResponseBody public Map query(@RequestBody User user) { List list = userService.query(user); Integer count = userService.count(user); return MapControl.getInstance().success().page(list, count).getMap(); } //跳转列表页面 @GetMapping("/list") public String list() { return "user/list"; } }
以上就是Java实战之火车票预订系统的实现的详细内容,更多关于Java火车票预订系统的资料请关注脚本之家其它相关文章!