SSM房屋租赁系统
创始人
2024-03-20 05:11:04
0

SSM房屋租赁系统

  • 该项目采用的技术实现
  • 一、系统功能
  • 技术栈
  • 二、关键代码
    • 1.首页
  • 运行截图
  • 总结

该项目采用的技术实现

后台框架:Spring、SpringMVC、MyBatis

UI界面:jQuery 、JSP

数据库:MySQL


提示:以下是本篇文章正文内容,下面案例可供参考

一、系统功能

系统分为前台用户界面和后台系统管理:

  1. 前台用户界面

用户注册、用户登录、用户中心、浏览房源、房源搜索

查看房源明细、发布房源、提交合同、新闻公告、留言交流

  1. 后台系统管理

用户管理:用户列表、用户删除、用户查询

新闻管理:新闻列表、添加新闻、修改新闻、删除新闻、查询新闻

房屋管理:房屋列表、房屋删除、分页查看

留言管理:留言列表、留言删除、留言查询、留言回复列表、回复查询

租赁合同管理:合同列表、查看合同、删除合同

管理员管理:管理员管理、新增管理员、编辑管理员、删除管理员等

技术栈

  1. 后端:Spring+SpringMVC+Mybatis\
  2. 前端:JSP+CSS+JavaScript+jQuery

二、关键代码

1.首页

代码如下(示例):

package com.action;import java.util.ArrayList;
import java.util.List;import javax.annotation.Resource;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;import com.entity.Article;
import com.entity.Bbs;
import com.entity.Cate;
import com.entity.Contract;
import com.entity.House;
import com.entity.Rebbs;
import com.entity.Users;
import com.service.ArticleService;
import com.service.BbsService;
import com.service.CateService;
import com.service.ContractService;
import com.service.HouseService;
import com.service.RebbsService;
import com.service.UsersService;
import com.util.VeDate;//定义为控制器
@Controller
// 设置路径
@RequestMapping("/index")
public class IndexAction extends BaseAction {@Autowired@Resourceprivate UsersService usersService;@Autowired@Resourceprivate ArticleService articleService;@Autowired@Resourceprivate CateService cateService;@Autowired@Resourceprivate HouseService houseService;@Autowired@Resourceprivate ContractService contractService;@Autowired@Resourceprivate BbsService bbsService;@Autowired@Resourceprivate RebbsService rebbsService;// 公共方法 提供公共查询数据private void front() {this.getRequest().setAttribute("cateList", this.cateService.getAllCate());this.getRequest().setAttribute("hotList", this.houseService.getHotHouse());this.getRequest().setAttribute("title", "房屋租赁系统");}// 首页显示@RequestMapping("index.action")public String index() {this.front();List
articleList = this.articleService.getFrontArticle();this.getRequest().setAttribute("articleList", articleList);List frontList = new ArrayList();List cateList = this.cateService.getFrontCate();for (Cate cate : cateList) {List houseList = this.houseService.getFrontHouse(cate.getCateid());cate.setHouseList(houseList);frontList.add(cate);}this.getRequest().setAttribute("frontList", frontList);this.getRequest().setAttribute("newsList", this.houseService.getNewsHouse());return "users/index";}// 分类查询@RequestMapping("cate.action")public String cate(String id) {this.front();House house = new House();house.setStatus("待租");house.setCateid(id);List houseList = this.houseService.getHouseByCond(house);this.getRequest().setAttribute("houseList", houseList);return "users/list";}// 模糊查询@RequestMapping("query.action")public String query() {this.front();String name = this.getRequest().getParameter("name");House house = new House();house.setStatus("待租");house.setHousename(name);List houseList = this.houseService.getHouseByLike(house);this.getRequest().setAttribute("houseList", houseList);return "users/list";}// 全部查询@RequestMapping("all.action")public String all() {this.front();House house = new House();house.setStatus("待租");List houseList = this.houseService.getHouseByCond(house);this.getRequest().setAttribute("houseList", houseList);return "users/list";}// 全部查询@RequestMapping("detail.action")public String detail(String id) {this.front();House house = this.houseService.getHouseById(id);house.setHits("" + (Integer.parseInt(house.getHits()) + 1));this.houseService.updateHouse(house);this.getRequest().setAttribute("house", house);return "users/detail";}// 公告@RequestMapping("article.action")public String article(String number) {this.front();List
articleList = new ArrayList
();List
tempList = this.articleService.getAllArticle();int pageNumber = tempList.size();int maxPage = pageNumber;if (maxPage % 10 == 0) {maxPage = maxPage / 10;} else {maxPage = maxPage / 10 + 1;}if (number == null) {number = "0";}int start = Integer.parseInt(number) * 10;int over = (Integer.parseInt(number) + 1) * 10;int count = pageNumber - over;if (count <= 0) {over = pageNumber;}for (int i = start; i < over; i++) {Article x = tempList.get(i);articleList.add(x);}String html = "";StringBuffer buffer = new StringBuffer();buffer.append("  共为");buffer.append(maxPage);buffer.append("页  共有");buffer.append(pageNumber);buffer.append("条  当前为第");buffer.append((Integer.parseInt(number) + 1));buffer.append("页  ");if ((Integer.parseInt(number) + 1) == 1) {buffer.append("首页");} else {buffer.append("首页");}buffer.append("  ");if ((Integer.parseInt(number) + 1) == 1) {buffer.append("上一页");} else {buffer.append("上一页");}buffer.append("  ");if (maxPage <= (Integer.parseInt(number) + 1)) {buffer.append("下一页");} else {buffer.append("下一页");}buffer.append("  ");if (maxPage <= (Integer.parseInt(number) + 1)) {buffer.append("尾页");} else {buffer.append("尾页");}html = buffer.toString();this.getRequest().setAttribute("html", html);this.getRequest().setAttribute("articleList", articleList);return "users/article";}// 阅读公告@RequestMapping("read.action")public String read(String id) {this.front();Article article = this.articleService.getArticleById(id);article.setHits("" + (Integer.parseInt(article.getHits()) + 1));this.articleService.updateArticle(article);this.getRequest().setAttribute("article", article);return "users/read";}// 准备登录@RequestMapping("preLogin.action")public String prelogin() {this.front();return "users/login";}// 用户登录@RequestMapping("login.action")public String login() {this.front();String username = this.getRequest().getParameter("username");String password = this.getRequest().getParameter("password");Users u = new Users();u.setUsername(username);List usersList = this.usersService.getUsersByCond(u);if (usersList.size() == 0) {this.getSession().setAttribute("message", "用户名不存在");return "redirect:/index/preLogin.action";} else {Users users = usersList.get(0);if (password.equals(users.getPassword())) {this.getSession().setAttribute("userid", users.getUsersid());this.getSession().setAttribute("username", users.getUsername());this.getSession().setAttribute("users", users);return "redirect:/index/index.action";} else {this.getSession().setAttribute("message", "密码错误");return "redirect:/index/preLogin.action";}}}// 准备注册@RequestMapping("preReg.action")public String preReg() {this.front();return "users/register";}// 用户注册@RequestMapping("register.action")public String register(Users users) {this.front();Users u = new Users();u.setUsername(users.getUsername());List usersList = this.usersService.getUsersByCond(u);if (usersList.size() == 0) {users.setRegdate(VeDate.getStringDateShort());this.usersService.insertUsers(users);} else {this.getSession().setAttribute("message", "用户名已存在");return "redirect:/index/preReg.action";}return "redirect:/index/preLogin.action";}// 退出登录@RequestMapping("exit.action")public String exit() {this.front();this.getSession().removeAttribute("userid");this.getSession().removeAttribute("username");this.getSession().removeAttribute("users");return "index";}// 准备修改密码@RequestMapping("prePwd.action")public String prePwd() {this.front();if (this.getSession().getAttribute("userid") == null) {return "redirect:/index/preLogin.action";}return "users/editpwd";}// 修改密码@RequestMapping("editpwd.action")public String editpwd() {this.front();if (this.getSession().getAttribute("userid") == null) {return "redirect:/index/preLogin.action";}String userid = (String) this.getSession().getAttribute("userid");String password = this.getRequest().getParameter("password");String repassword = this.getRequest().getParameter("repassword");Users users = this.usersService.getUsersById(userid);if (password.equals(users.getPassword())) {users.setPassword(repassword);this.usersService.updateUsers(users);} else {this.getSession().setAttribute("message", "旧密码错误");return "redirect:/index/prePwd.action";}return "redirect:/index/prePwd.action";}@RequestMapping("usercenter.action")public String usercenter() {this.front();if (this.getSession().getAttribute("userid") == null) {return "redirect:/index/preLogin.action";}return "users/usercenter";}@RequestMapping("userinfo.action")public String userinfo() {this.front();if (this.getSession().getAttribute("userid") == null) {return "redirect:/index/preLogin.action";}String userid = (String) this.getSession().getAttribute("userid");this.getSession().setAttribute("users", this.usersService.getUsersById(userid));return "users/userinfo";}@RequestMapping("personal.action")public String personal(Users users) {this.front();if (this.getSession().getAttribute("userid") == null) {return "redirect:/index/preLogin.action";}this.usersService.updateUsers(users);return "redirect:/index/userinfo.action";}// 留言板@RequestMapping("bbs.action")public String bbs() {this.front();List bbsList = this.bbsService.getAllBbs();this.getRequest().setAttribute("bbsList", bbsList);return "users/bbs";}// 发布留言@RequestMapping("addbbs.action")public String addbbs() {this.front();if (this.getSession().getAttribute("userid") == null) {return "redirect:/index/preLogin.action";}String userid = (String) this.getSession().getAttribute("userid");Users users=usersService.getUsersById(userid);Bbs bbs = new Bbs();bbs.setAddtime(VeDate.getStringDate());bbs.setContents(getRequest().getParameter("contents"));bbs.setHits("0");bbs.setRepnum("0");bbs.setTitle(getRequest().getParameter("title"));bbs.setUsersid(userid);bbs.setUsername(users.getUsername());bbs.setImage(users.getImage());this.bbsService.insertBbs(bbs);return "redirect:/index/bbs.action";}// 查看留言@RequestMapping("readbbs.action")public String readbbs() {this.front();Bbs bbs = this.bbsService.getBbsById(getRequest().getParameter("id"));bbs.setHits("" + (Integer.parseInt(bbs.getHits()) + 1));this.bbsService.updateBbs(bbs);this.getRequest().setAttribute("bbs", bbs);//System.out.print(bbs.toString());Rebbs rebbs = new Rebbs();rebbs.setBbsid(bbs.getBbsid());List rebbsList = this.rebbsService.getRebbsByCond(rebbs);this.getRequest().setAttribute("rebbsList", rebbsList);//System.out.print(rebbsList.toString());return "users/readbbs";}// 回复留言@RequestMapping("rebbs.action")public String rebbs() {this.front();if (this.getSession().getAttribute("userid") == null) {return "redirect:/index/preLogin.action";}String userid = (String) this.getSession().getAttribute("userid");Users users=usersService.getUsersById(userid);Bbs bbs1=bbsService.getBbsById(getRequest().getParameter("bbsid"));Rebbs rebbs = new Rebbs();rebbs.setAddtime(VeDate.getStringDate());rebbs.setContents(getRequest().getParameter("contents"));rebbs.setBbsid(getRequest().getParameter("bbsid"));rebbs.setUsersid(userid);rebbs.setUsername(users.getUsername());rebbs.setImage(users.getImage());rebbs.setTitle(bbs1.getTitle());this.rebbsService.insertRebbs(rebbs);Bbs bbs = this.bbsService.getBbsById(rebbs.getBbsid());bbs.setRepnum("" + (Integer.parseInt(bbs.getRepnum()) + 1));this.bbsService.updateBbs(bbs);String path = "redirect:/index/readbbs.action?id=" + bbs.getBbsid();return path;}@RequestMapping("preHouse.action")public String preHouse() {this.front();if (this.getSession().getAttribute("userid") == null) {return "redirect:/index/preLogin.action";}return "users/addHouse";}@RequestMapping("addHouse.action")public String addHouse(House house) {this.front();if (this.getSession().getAttribute("userid") == null) {return "redirect:/index/preLogin.action";}String userid = (String) this.getSession().getAttribute("userid");house.setAddtime(VeDate.getStringDateShort());house.setHits("0");house.setUsersid(userid);house.setStatus("待租");this.houseService.insertHouse(house);return "redirect:/index/preHouse.action";}@RequestMapping("myHouse.action")public String myHouse() {this.front();if (this.getSession().getAttribute("userid") == null) {return "redirect:/index/preLogin.action";}String userid = (String) this.getSession().getAttribute("userid");House house = new House();house.setUsersid(userid);List houseList = this.houseService.getHouseByCond(house);this.getRequest().setAttribute("houseList", houseList);return "users/myHouse";}@RequestMapping("deleteHouse.action")public String deleteHouse(String id) {this.front();if (this.getSession().getAttribute("userid") == null) {return "redirect:/index/preLogin.action";}this.houseService.deleteHouse(id);return "redirect:/index/myHouse.action";}@RequestMapping("getHouseById.action")public String getHouseById(String id) {this.front();if (this.getSession().getAttribute("userid") == null) {return "redirect:/index/preLogin.action";}House house = this.houseService.getHouseById(id);this.getRequest().setAttribute("house", house);return "users/editHouse";}@RequestMapping("updateHouse.action")public String updateHouse(House house) {this.front();if (this.getSession().getAttribute("userid") == null) {return "redirect:/index/preLogin.action";}this.houseService.updateHouse(house);return "redirect:/index/myHouse.action";}@RequestMapping("preContract.action")public String preContract() {this.front();if (this.getSession().getAttribute("userid") == null) {return "redirect:/index/preLogin.action";}this.getRequest().setAttribute("cno", "C" + VeDate.getStringId());String userid = (String) this.getSession().getAttribute("userid");House house = new House();house.setUsersid(userid);house.setStatus("待租");List houseList = this.houseService.getHouseByCond(house);this.getRequest().setAttribute("houseList", houseList);return "users/addContract";}@RequestMapping("addContract.action")public String addContract(Contract contract) {this.front();if (this.getSession().getAttribute("userid") == null) {return "redirect:/index/preLogin.action";}String userid = (String) this.getSession().getAttribute("userid");Users users=usersService.getUsersById(userid);contract.setAddtime(VeDate.getStringDateShort());contract.setStatus("未完成");contract.setUsersid(userid);contract.setUsername(users.getUsername());House house1=houseService.getHouseById(contract.getHouseid());contract.setHousename(house1.getHousename());this.contractService.insertContract(contract);House house = this.houseService.getHouseById(contract.getHouseid());house.setStatus("出租");this.houseService.updateHouse(house);return "redirect:/index/preContract.action";}@RequestMapping("myContract.action")public String myContract() {this.front();if (this.getSession().getAttribute("userid") == null) {return "redirect:/index/preLogin.action";}String userid = (String) this.getSession().getAttribute("userid");Contract contract = new Contract();contract.setUsersid(userid);List contractList = this.contractService.getContractByCond(contract);this.getRequest().setAttribute("contractList", contractList);return "users/myContract";}@RequestMapping("over.action")public String over(String id) {this.front();if (this.getSession().getAttribute("userid") == null) {return "redirect:/index/preLogin.action";}Contract contract = this.contractService.getContractById(id);contract.setStatus("完成");this.contractService.updateContract(contract);House house = this.houseService.getHouseById(contract.getHouseid());house.setStatus("待租");this.houseService.updateHouse(house);return "redirect:/index/myContract.action";}@RequestMapping("deleteContract.action")public String deleteContract(String id) {this.front();if (this.getSession().getAttribute("userid") == null) {return "redirect:/index/preLogin.action";}Contract contract = this.contractService.getContractById(id);House house = this.houseService.getHouseById(contract.getHouseid());house.setStatus("待租");this.houseService.updateHouse(house);this.contractService.deleteContract(id);return "redirect:/index/myContract.action";}}

运行截图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结

https://pan.baidu.com/s/1HdmGCmAMFIQu37NKvZU0Bw?pwd=3212
提取码:3212

相关内容

热门资讯

护权益、提质量,连州法律援助案... 法律援助是保障社会公平正义的重要防线,而案件质量则是这条防线的基石。日前,连州市组织召开“2025年...
网络侵权!比亚迪起诉某品牌CE... 人民法院公告显示,比亚迪股份已就网络侵权责任纠纷对坦克品牌CEO提起诉讼,因无法联系到常尧本人,法院...
哈尔滨消费品以旧换新补贴政策有... 关于2025年哈尔滨市消费品以旧换新 补贴政策调整的公告 全市广大消费者及以旧换新活动参与企业: 按...
财政部、税务总局发布公告,明确... 据财政部税政司官网,财政部、税务总局近日发布公告,为贯彻落实中央办公厅、国务院办公厅印发的《育儿补贴...
江苏镇江:83分钟抓获犯罪嫌疑... 8月18日15时,镇江丹阳市曲阿街道金陵西路车流中突然冲出狂奔的身影——涉嫌盗窃电动车的邵某仓皇逃窜...
武大法学教授论文称毒品犯罪不应... 8月21日,#武大教授毒品犯罪论文引争议#一事引发关注。@大河报记者从中国知网查询了解到,涉事论文题...
弟弟杀姐姐,母亲说“没犯罪” “我往前走七步,然后你就可以开枪了。”巴诺·比比平静地对自己的亲弟弟说,“但你只能开枪杀我,不许做别...
10级狂风暴雨偷袭武汉!9级大... 极目新闻记者 陈希 晴热持续强势控场武汉,而在昨晚却遭狂风暴雨偷袭。 热了这么久,热锅盖终于被狠狠地...
WTT欧洲大满贯赛瑞典站:中国... 本文转自【新华网】; 新华社赫尔辛基8月20日电(记者朱昊晨、徐谦)2025年世界乒乓球职业大联盟(...
38名广州律师获评2024年度... 近日,广州市总工会举办2024年度职工“金牌贴心人”、2024年度广州工会维护职工合法权益典型案例以...