Java实战房屋租赁网的实现流程
作者:qq_1334611189
读万卷书不如行万里路,只学书上的理论是远远不够的,只有在实战中才能获得能力的提升,本篇文章手把手带你用java+SSM+jsp+mysql+maven实现一个房屋租赁网站,大家可以在过程中查缺补漏,提升水平
一、项目简述
功能包括: 前台:系统首页,酒店介绍,系统公告,客房信息,客房类型,用 户预等等。 用户:注册登陆修改我的信息客房预订等等。 管理员修改登录密码,添加客房,会员信息管理等等。
二、项目运行
环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)
项目技术: JSP +Spring + SpringMVC + MyBatis + html+ css + JavaScript + JQuery + Ajax + layui+ maven等等。
用户控制器:
/** * 控制器层 * */ @RestController @CrossOrigin @RequestMapping("/user") public class UserController { @Autowired private UserService userService; @Autowired private RedisTemplate redisTemplate; @Autowired private HttpServletRequest request; @Autowired BCryptPasswordEncoder encoder; /** * 查询全部数据 * * @return */ @RequestMapping(value = "userList",method = RequestMethod.GET) public Result findAll() { List<User> all = userService.findAll(); return new Result(true, StatusCode.OK, "查询成功",all,all.size()); } /** * 根据ID查询 * * @param id ID * @return */ @RequestMapping(value = "/{id}", method = RequestMethod.GET) public Result findById(@PathVariable Long id) { return new Result(true, StatusCode.OK, "查询成功", userService.findById(id)); } /** * 分页+多条件查询 * @param searchMap 查询条件封装 * @param page 页码 * @param size 页大小 * @return 分页结果 */ @RequestMapping(value="/search/{page}/{size}",method=RequestMethod.POST) public Result findSearch(@RequestBody Map searchMap , @PathVariable int page, @PathVariable int size){ Page<User> pageList = userService.findSearch(searchMap, page, size); return new Result(true,StatusCode.OK,"查询成功", new PageResult<User>(pageList.getTotalElements(), pageList.getContent()) ); } /** * 根据条件查询 * @param searchMap * @return */ @RequestMapping(value="/search",method = RequestMethod.POST) public Result findSearch( @RequestBody Map searchMap){ return new Result(true,StatusCode.OK,"查询成功",userService.findSearch(searchMap)); } /** * 增加 * @param user */ @RequestMapping(method=RequestMethod.POST) public Result add(@RequestBody User user ){ userService.add(user); return new Result(true,StatusCode.OK,"增加成功"); } /** * 修改 * @param user */ @ResponseBody @RequestMapping(value="/{id}",method= RequestMethod.PUT) public Result update(User user, @PathVariable Long id ){ User oldUser=userService.findById(id); user.setId(id); user.setPassword(oldUser.getPassword()); userService.update(user); return new Result(true,StatusCode.OK,"修改成功"); } /** * 修改 * @param user */ @RequestMapping(value="/change",method= RequestMethod.POST,consumes = "application/json") public Result update(@RequestBody User user, HttpSession session){ User us= (User) session.getAttribute("user"); user.setId(us.getId()); user.setPassword(us.getPassword()); userService.update(user); return new Result(true,StatusCode.OK,"修改成功"); } /** * 删除 * @param id */ @RequestMapping(value="/{id}",method= RequestMethod.DELETE) public Result delete(@PathVariable String id ){ userService.deleteById(id); return new Result(true,StatusCode.OK,"删除成功"); } /** * 用户注册 * @param code * @param user * @return */ @ResponseBody @RequestMapping(value = "/register/",method = RequestMethod.POST) public Result regist(@RequestParam(name = "code") String code,User user,HttpServletRequest request){ String sCode = (String) request.getSession().getAttribute("user_register_email_code"); if(!sCode.equalsIgnoreCase(code)){ return new Result(false,StatusCode.ERROR,"验证码错误!"); } userService.add(user); return new Result(true,StatusCode.OK,"注册成功"); } /** *判断账号是否存在 * @param user * @return */ @RequestMapping(value = "/checkPhone",method = RequestMethod.POST) @ResponseBody public Result checkPhone(User user){ String phone = user.getMobile(); if(!StringUtil.isMobile(phone)){ return new Result(false,StatusCode.ERROR,"请填写正确的手机号!"); } User userphone= userService.findByMobile(phone); if (userphone == null){ return new Result(true,StatusCode.OK,"该手机号可以注册"); } return new Result(false,StatusCode.ERROR,"该手机号已经被注册"); } /** * 邮箱验证 * @param user * @return */ @RequestMapping(value = "/email",method = RequestMethod.POST) @ResponseBody public Result findemail(User user){ String email = user.getEmail(); if(!StringUtil.emailFormat(email)){ return new Result(true,StatusCode.ERROR,"请填写正确的邮箱格式"); } User useremail= userService.findByEmail(email); if (useremail == null){ return new Result(true,StatusCode.OK,"该邮箱可以注册"); } return new Result(false,StatusCode.ERROR,"该邮箱已经被注册"); } /** * 用户登录 * @param loginMap * @return */ @ResponseBody @RequestMapping(value="/login",method=RequestMethod.POST) public Result login(@RequestParam Map<String,String> loginMap,HttpServletRequest request){ String mobile = loginMap.get("login"); if (StringUtil.isMobile(mobile)){ User user = userService.findByMobileAndPassword(loginMap.get("login"),loginMap.get("password")); if(user!=null){ request.getSession().setAttribute("user",user); Map map=new HashMap(); return new Result(true,StatusCode.OK,"登陆成功"); }else{ return new Result(false,StatusCode.LOGINERROR,"用户名或密码错误"); } }else { User user = userService.findByNameAndPassword(loginMap.get("login"),loginMap.get("password")); if(user!=null){ request.getSession().setAttribute("user",user); Map map=new HashMap(); map.put("name",user.getName());//姓名 return new Result(true,StatusCode.OK,"登陆成功",map); }else{ return new Result(false,StatusCode.LOGINERROR,"用户名或密码错误"); } } } /** * 用户注销 * @param request * @param response * @throws IOException */ @RequestMapping(value="/logout",method=RequestMethod.GET) public void logout(HttpServletRequest request,HttpServletResponse response) throws IOException { request.getSession().setAttribute("user", null); response.sendRedirect(request.getContextPath() + "/dist/view"); } }
酒店房屋控制器:
/** * 控制器层 * */ @Controller @CrossOrigin @RequestMapping("/hotel") public class HotelController { @Autowired private HotelService hotelService; @Autowired private ScenicService scenicService; /** * 查询全部酒店信息 * @return */ @ResponseBody @RequestMapping(value = "/list",method= RequestMethod.GET) public Result findAll(){ List<Hotel> all = hotelService.findAll(); return new Result(true, StatusCode.OK,"查询成功",all,all.size()); } /** * 根据ID查询 * @param id ID * @return */ @ResponseBody @RequestMapping(value="/{id}",method= RequestMethod.GET) public Result findById(@PathVariable Long id){ return new Result(true,StatusCode.OK,"查询成功",hotelService.findById(id)); } /** * 酒店添加操作 * @param hotel */ @ResponseBody @RequestMapping(value = "/add",method=RequestMethod.POST) public Result add(Hotel hotel){ if(StringUtils.isEmpty(hotel.getName())){ return new Result(false,StatusCode.ERROR,"请填写酒店名称"); } if(StringUtils.isEmpty(hotel.getImg())){ return new Result(false,StatusCode.ERROR,"请上传酒店封面图片"); } if(StringUtils.isEmpty(hotel.getAddr())){ return new Result(false,StatusCode.ERROR,"请填写酒店地址"); } if(StringUtils.isEmpty(hotel.getMiaoshu())){ return new Result(false,StatusCode.ERROR,"请填写酒店描述"); } hotel.setCommentCount(0); hotel.setStar(0); if(hotelService.add(hotel)==null){ return new Result(false,StatusCode.ERROR,"酒店添加失败"); } return new Result(true,StatusCode.OK,"添加成功"); } /** * 分页+多条件查询 * @param searchMap 查询条件封装 * @param page 页码 * @param size 页大小 * @return 分页结果 */ @ResponseBody @RequestMapping(value="/search/{page}/{size}",method=RequestMethod.POST) public Result findSearch(@RequestBody Map searchMap , @PathVariable int page, @PathVariable int size){ Page<Hotel> pageList = hotelService.findSearch(searchMap, page, size); return new Result(true,StatusCode.OK,"查询成功", new PageResult<Hotel>(pageList.getTotalElements(), pageList.getContent()) ); } /** * 根据条件查询 * @param searchMap * @return */ @ResponseBody @RequestMapping(value="/search",method = RequestMethod.POST) public Result findSearch( @RequestBody Map searchMap){ return new Result(true,StatusCode.OK,"查询成功",hotelService.findSearch(searchMap)); } /** * 修改 * @param hotel */ @ResponseBody @RequestMapping(value="/edit",method= RequestMethod.PUT) public Result update(Hotel hotel){ Hotel hotelById = hotelService.findById(hotel.getId()); if(hotelById==null){ return new Result(false,StatusCode.ERROR,"该酒店信息不存在"); } if(StringUtils.isEmpty(hotel.getName())){ return new Result(false,StatusCode.ERROR,"请填写酒店名称"); } BeanUtils.copyProperties(hotel,hotelById,"id","img","miaoshu","day","startdate","addr","commentCount"); if(hotelService.update(hotelById)==null){ return new Result(false,StatusCode.ERROR,"酒店编辑失败"); } return new Result(true,StatusCode.OK,"修改成功"); } /** * 删除 * @param id */ @ResponseBody @RequestMapping(value="/{id}",method= RequestMethod.DELETE) public Result delete(@PathVariable String id ){ hotelService.deleteById(id); return new Result(true,StatusCode.OK,"删除成功"); } /** * 酒店列表跳转路径 * @return */ @RequestMapping(value = "/hotelList") public String hotelList(){ return "admin/hotelmanage/hotelList"; } @RequestMapping(value = "/hotelAdd") public String hotelAdd(){ return "admin/hotelmanage/hotelAdd"; } /** * 查询单个酒店 * @param model * @param id * @return */ @RequestMapping("/oneAttr") public String One_attr(Model model, Long id){ Hotel scenic=hotelService.findById(id); model.addAttribute("oneAttr",scenic); return "page/hotelDetail"; } @RequestMapping("/local") public String localRefresh(Model model,Long id) { Hotel hotel=hotelService.findById(id); // Sort sort=new Sort(Sort.Direction.DESC,"star"); System.out.println("1111"+hotel.toString()); List<Scenic> scenics=scenicService.findByCountryLike(hotel.getAddr()); System.out.println("2222"+scenics.toString()); Collections.sort(scenics, new Comparator<Scenic>() { @Override public int compare(Scenic o1, Scenic o2) { if (o1.getStart()<o2.getStart()){ return 2; } if (o1.getStart().equals(o2.getStart()) ){ return 1; } return -1; } }); if (scenics.size()>=4){ List newList=scenics.subList(0,3); model.addAttribute("scenics",newList); }else { model.addAttribute("scenics",scenics); } return "page/hotelDetail::table_refresh"; } }
后台管理员控制器:
/** * 控制器层 * @author yy * */ @Controller @CrossOrigin @RequestMapping("/admin") public class AdminController { @Autowired private AdminService adminService; @Autowired BCryptPasswordEncoder encoder; /** * 查询全部数据 * @return */ @ResponseBody @RequestMapping(method= RequestMethod.GET) public Result findAll(){ return new Result(true, StatusCode.OK,"查询成功",adminService.findAll()); } /** * 根据ID查询 * @param id ID * @return */ @ResponseBody @RequestMapping(value="/{id}",method= RequestMethod.GET) public Result findById(@PathVariable Long id){ return new Result(true,StatusCode.OK,"查询成功",adminService.findById(id)); } /** * 分页+多条件查询 * @param searchMap 查询条件封装 * @param page 页码 * @param size 页大小 * @return 分页结果 */ @ResponseBody @RequestMapping(value="/search/{page}/{size}",method=RequestMethod.POST) public Result findSearch(@RequestBody Map searchMap , @PathVariable int page, @PathVariable int size){ Page<Admin> pageList = adminService.findSearch(searchMap, page, size); return new Result(true,StatusCode.OK,"查询成功", new PageResult<Admin>(pageList.getTotalElements(), pageList.getContent()) ); } /** * 根据条件查询 * @param searchMap * @return */ @ResponseBody @RequestMapping(value="/search",method = RequestMethod.POST) public Result findSearch( @RequestBody Map searchMap){ return new Result(true,StatusCode.OK,"查询成功",adminService.findSearch(searchMap)); } /** * 增加 * @param admin */ @ResponseBody @RequestMapping(method=RequestMethod.POST) public Result add(@RequestBody Admin admin ){ adminService.add(admin); return new Result(true,StatusCode.OK,"增加成功"); } /** * 修改 * @param admin */ @ResponseBody @RequestMapping(value="/{id}",method= RequestMethod.PUT) public Result update(@RequestBody Admin admin, @PathVariable Long id ){ admin.setId(id); adminService.update(admin); return new Result(true,StatusCode.OK,"修改成功"); } /** * 删除 * @param id */ @ResponseBody @RequestMapping(value="/{id}",method= RequestMethod.DELETE) public Result delete(@PathVariable String id ){ adminService.deleteById(id); return new Result(true,StatusCode.OK,"删除成功"); } /** * 管理员跳转 * @return */ @RequestMapping(value = "/adminlogin") public String adminlogin() { return "admin/login/login"; } /** * admin登录 * @param loginMap * @param request * @return */ @ResponseBody @RequestMapping(value="/login",method= RequestMethod.POST) public Result login(@RequestParam Map<String,String> loginMap,HttpServletRequest request){ Admin admin = adminService.finbyNameAndPassword(loginMap.get("name"),loginMap.get("password")); if (admin!=null){ request.getSession().setAttribute("admin",admin); Map map=new HashMap(); map.put("name",admin.getName()); return new Result(true,StatusCode.OK,"登录成功"); }else { return new Result(false,StatusCode.ERROR,"账号密码错误"); } } /** * 管理员登录成功 * @return */ @RequestMapping(value = "/index") public String success(){ return "admin/index"; } /** * 用户列表 * @return */ @RequestMapping(value = "/userList") public String user(){ return "admin/usermanage/userList"; } @RequestMapping(value = "/echars") public String analysis(){ return "admin/echars/console"; } /** * 管理员退出登录 * @return */ @RequestMapping(value = "/logout") public String logout(HttpSession session){ session.removeAttribute("admin"); return "admin/login/login"; } /** * 管理员修改密码 * @return */ @ResponseBody @RequestMapping(value = "/passwd") public Result passwd(HttpSession session,String passwd,String oldpad){ Admin admindmin= (Admin) session.getAttribute("admin"); Admin admins=adminService.findById(admindmin.getId()); boolean old=encoder.matches(oldpad,admins.getPassword()); if (old){ String newPassd=encoder.encode(passwd); admins.setPassword(newPassd); adminService.update(admins); return new Result(true,StatusCode.OK,"成功"); }else { return new Result(false,StatusCode.ERROR,"更新失败"); } } }
以上就是Java实战房屋租赁网的实现流程的详细内容,更多关于Java 房屋租赁网的资料请关注脚本之家其它相关文章!