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




基于javaweb的SpringBoot房屋出租系统(java+springboot+maven+ssm+jsp+javascript+mysql)
项目介绍
基于SpringBoot房屋出租系统 有前台和后台
登陆角色:用户+房东+管理员 前台功能模块:登陆+注册+整租+合租+租房+新闻资讯+用户反馈+搜索+忘记密码等 后台功能模块: 用户端:订单管理+个人信息+我的家+我的收藏+密码修改+我的反馈 管理员端:房子管理+订单管理+新闻资讯管理+反馈管理+用户管理+个人信息+我的收藏+密码修改 房东端:房子管理+订单管理+个人信息+我的收藏+密码修改+我的反馈
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 4.数据库:MySql 5.7/8.0版本均可; 5.是否Maven项目:是;
技术栈
后端:SpringBoot(Spring+SpringMVC+Mybatis) 前端: JSP、 css 、JavaScript、JQuery、Ajax
使用说明
项目运行: 1. 使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中application.yml配置文件中的数据库配置改为自己的配置;
系统首页展示:
租赁列表展示:
最新资讯列表展示:
后台订单管理展示:
——————————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
| * 注册提交 * */ @RequestMapping(value = "/submit", method = RequestMethod.POST) @ResponseBody public JsonResult registerSubmit(User user, HttpSession session) { if (user == null) { return JsonResult.error("接收到非法访问,请重试!"); } if (user.getUserName().equals("") || user.getEmail().equals("") || user.getPhone().equals("") || user.getUserDisplayName().equals("") || user.getUserPass().equals("") || user.getRole().equals("")) { return JsonResult.error("请完整填写注册资料后再提交!"); } String random = (String) session.getAttribute("IRENTALSESSIONKEY"); if (random == null) { return JsonResult.error("请输入验证码"); } if (!random.equals(user.getCode())) { return JsonResult.error("验证码错误"); } User user1 = userService.findByUserName(user.getUserName()); if (user1 != null) { return JsonResult.error("用户已存在,请重新输入"); }
user.setIdCard(""); user.setUserAvatar("/assets/img/default-avatar.jpg"); user.setUserDesc("还未填写..."); user.setSex("保密"); user.setHobby("暂未填写"); user.setJob("暂未填写"); user.setCreateTime(new Date()); user.setBalance(100000.00); try { userService.insert(user); } catch (Exception e) { e.printStackTrace(); return JsonResult.error("注册失败,请重试!"); } session.setAttribute(Constant.SESSION_USER_KEY, user); return JsonResult.success("注册成功!请继续完善个人资料..."); } }
|
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
|
@Controller @RequestMapping("/admin/profile") public class ProfileController extends BaseController { @Autowired private UserService userService;
@RequestMapping("") public String profile(Model model) { User user = getLoginUser(); model.addAttribute("user", user); model.addAttribute("tab", "my-profile"); return "admin/my-profile"; }
@RequestMapping(value = "/submit", method = RequestMethod.POST) @ResponseBody public JsonResult submitProfile(User user, HttpSession session, @RequestParam("key") String key) { user.setId(getLoginUserId()); userService.update(user); String sessionKey = Constant.SESSION_IMG_PREFIX + key; List<String> imgList = (List<String>) session.getAttribute(sessionKey); if (imgList != null && imgList.size() > 0) { user.setUserAvatar(JSON.toJSONString(imgList)); user.setUserAvatar(imgList.get(0)); } userService.insertOrUpdate(user); session.setAttribute(Constant.SESSION_USER_KEY, userService.get(getLoginUserId())); return JsonResult.success("保存成功!"); }
}
|
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
| if (shareHouseList != null && shareHouseList.size() > 0) { for (House houseTemp : shareHouseList) { Order currentOrder = orderService.getCurrentEffectiveOrder(houseTemp.getId()); if (currentOrder != null) { User customerUser = userService.get(currentOrder.getCustomerUserId()); currentOrder.setCustomerUser(customerUser); houseTemp.setCurrentOrder(currentOrder); } } } house.setShareHouseList(shareHouseList); model.addAttribute("house", house); return "front/house-detail"; }
@RequestMapping("/house/map") public String map(@RequestParam("id") Long id, Model model) { House house = houseService.get(id); if (house == null) { return renderNotFound(); } String longitudeLatitude = house.getLongitudeLatitude(); String[] arr = longitudeLatitude.split(","); model.addAttribute("longitude", arr[0]); model.addAttribute("latitude", arr[1]); model.addAttribute("address", house.getAddress()); return "front/house-map"; }
@RequestMapping("/house") public String houseList(HouseSearchVO houseSearchVO, Model model) { Page page = PageUtil.initMpPage(houseSearchVO.getPage(), houseSearchVO.getSize()); Page<House> housePage = houseService.getHousePage(houseSearchVO, page);
|
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 newsList(@RequestParam(value = "page", defaultValue = "1") Long pageNumber, @RequestParam(value = "size", defaultValue = "6") Long pageSize, Model model) { Page page = PageUtil.initMpPage(pageNumber, pageSize); News condition = new News(); Page<News> newsPage = newsService.findAll(page, condition); model.addAttribute("pageInfo", newsPage); model.addAttribute("pagePrefix", "/admin/news?"); model.addAttribute("tab", "news-list"); return "admin/news-list"; }
@RequestMapping("/publish") public String publish(@RequestParam(value = "id", required = false) Long id, Model model) { News news = new News(); if (id != null) { news = newsService.get(id); if (news == null) { return renderNotFound(); } } model.addAttribute("news", news); return "admin/news-publish"; }
@RequestMapping(value = "/publish/submit", method = RequestMethod.POST) @ResponseBody public JsonResult publishSubmit(News news) { try { if (news.getId() == null) { news.setCreateTime(new Date()); } else { News queryNews = newsService.get(news.getId()); if (queryNews == null) { return JsonResult.error("发布失败,未找到此新闻资讯ID"); } } int postSummary = 300; String summaryText = HtmlUtil.cleanHtmlTag(news.getContent()); if (summaryText.length() > postSummary) { String summary = summaryText.substring(0, postSummary);
|
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
| String summaryText = HtmlUtil.cleanHtmlTag(news.getContent()); if (summaryText.length() > postSummary) { String summary = summaryText.substring(0, postSummary); news.setSummary(summary); } else { news.setSummary(summaryText); }
newsService.insertOrUpdate(news); } catch (Exception e) { return JsonResult.error("发布失败,请将内容补充完整!"); }
return JsonResult.success("发布成功", news.getId()); }
@RequestMapping("/delete") @ResponseBody public JsonResult deleteNews(@RequestParam("id") Long id) { try { News news = newsService.get(id); if (news == null) { return JsonResult.error("删除失败,未找到新闻资讯ID。"); } newsService.delete(id); } catch (Exception e) { return JsonResult.error("删除新闻资讯信息失败,请重试。"); }
return JsonResult.success("删除成功!"); }
}
|
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
|
@Controller("backFeedbackController") public class FeedbackController extends BaseController { @Autowired private FeedbackService feedbackService;
@RequestMapping("/admin/feedback") public String feedback(@RequestParam(value = "page", defaultValue = "1") Long pageNumber, @RequestParam(value = "size", defaultValue = "6") Long pageSize, Model model) { Page page = PageUtil.initMpPage(pageNumber, pageSize); Feedback condition = new Feedback(); if (!loginUserIsAdmin()) { condition.setUserId(getLoginUserId()); } Page<Feedback> feedbackPage = feedbackService.findAll(page, condition); model.addAttribute("pageInfo", feedbackPage); model.addAttribute("pagePrefix", "/news?"); model.addAttribute("tab", "feedback-list"); model.addAttribute("isAdmin", loginUserIsAdmin()); return "admin/feedback-list"; }
@RequestMapping(value = "/admin/feedback/reply/submit", method = RequestMethod.POST) @ResponseBody public JsonResult replySubmit(Feedback feedback) { feedbackService.update(feedback); return JsonResult.success("保存成功!"); }
@RequestMapping("/admin/feedback/delete") @ResponseBody
|
——————————PayStart——————————
项目链接:
https://javayms.github.io?id=211524180701201ic
https://javayms.pages.dev?id=211524180701201ic