源码获取:俺的博客首页 "资源" 里下载!
项目介绍
基于SSM的房屋出租系统
角色:管理员、用户、房东
管理员登录进入系统可以查看个人中心,用户管理,房东管理,房源类型管理,房源信息管理,在线咨询管理,预约信息管理,订单信息管理,签订信息管理,申请退租管理,交流论坛,系统管理等功能
房东登录进入系统可以查看个人中心,房源信息管理,在线咨询管理,预约信息管理,订单信息管理,签订信息管理,申请退租管理等功能
用户登录进入系统可以查看个人中心,在线咨询管理,预约信息管理,订单信息管理,签订信息管理,申请退租管理等功能
环境需要
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.是否Maven项目: 是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目;
6.数据库:MySql 5.7/8.0等版本均可;
技术栈
后端:SSM(Spring+SpringMVC+Mybatis)
前端:JSP+CSS+JS+JQUERY+Layui
使用说明
1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,修改配置,运行项目;
3. 将项目中db.xml配置文件中的数据库配置改为自己的配置,然后运行;




用户管理控制层:
@Controller
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("/login")
public String userList() throws Exception{
return "login";
}
@RequestMapping("/logincheck")
public String login(User user,Model model,HttpSession httpSession) throws Exception{
User user1=userService.login(user);
if(user1!=null){
httpSession.setAttribute("user", user1);
if(user1.getType().equals("zuke")){
return "zuke/main";
}
else{
return "admin/main1";
}
}else{
String error="error";
model.addAttribute("error", error);
return "login";
}
}
@RequestMapping("/toindex")
public String toindex(Model model) throws Exception{
return "admin/index";
}
}
退租管理控制层:
@Controller
@RequestMapping("/checkout")
public class CheckoutController {
@Autowired
private CheckoutService checkoutService;
@Autowired
private UserlistService userlistService;
@RequestMapping("/getallcheckout")
public String getallcheckout(Model model ,@RequestParam(required=false,defaultValue="1") Integer page,
@RequestParam(required=false,defaultValue="6") Integer pageSize){
PageHelper.startPage(page, pageSize);
List<Checkout> checkout=checkoutService.getallcheckout();
PageInfo<Checkout> p=new PageInfo<Checkout>(checkout);
model.addAttribute("p", p);
model.addAttribute("checkout", checkout);
model.addAttribute("mainPage", "checkout.jsp");
return "admin/main1";
}
//租客删除自己已退租列表
@RequestMapping("/deletecheckout")
public String deletecheckout(Integer id ) {
checkoutService.deletecheckout(id);
return "redirect:/checkout/getmycheckout.action";
}
//租客删除自己已退租列表
@RequestMapping("/admindeletecheckout")
public String admindeletecheckout(Integer id ) {
checkoutService.deletecheckout(id);
return "redirect:/checkout/getallcheckout.action";
}
@RequestMapping("/getmycheckout")
public String getmycheckout(Model model,HttpSession httpSession,@RequestParam(required=false,defaultValue="1") Integer page,
@RequestParam(required=false,defaultValue="6") Integer pageSize) {
User user1= (User) httpSession.getAttribute("user");
Userlist userlist=userlistService.findhasuserlist(user1.getId());
PageHelper.startPage(page, pageSize);
List<Userlist> list=userlistService.getmycheckout(userlist.getId());
PageInfo<Userlist> p=new PageInfo<Userlist>(list);
model.addAttribute("p", p);
model.addAttribute("userlistcheck", list);
model.addAttribute("mainPage","mycheckout.jsp");
return "zuke/main";
}
}
合同订单管理控制层:
@Controller
@RequestMapping("/hetong")
public class HetongController {
@Autowired
private HetongService hetongService;
@Autowired
private HouselistService houselistService;
@Autowired
private ApplyService applyService;
@Autowired
private ZulistService zulistService;
@Autowired
private CheckoutService checkoutService;
//新增合同信息,修改房屋列表的状态,从申请列表中删除,增添到租赁列表当中
@RequestMapping("/inserthetong")
public String inserthetong(Model model,Hetong hetong){
//新增合同信息
hetongService.inserthetong(hetong);
Hetong hetong1=hetongService.findhetong(hetong.getHouse_id());
//修改房屋列表状态
Houselist houselist=houselistService.findhouseid(hetong1.getHouse_id());
houselist.setStatus("已租赁");
houselistService.updatehousestatus(houselist);
//添加到租赁列表当中
Zulist zulist=new Zulist();
Apply apply=applyService.findbyhouse_id(hetong.getHouse_id());
zulist.setHouse_id(hetong.getHouse_id());
zulist.setUserlist_id(apply.getUserlist_id());
zulist.setContract_id(hetong1.getId());
zulist.setPrice(apply.getPrice());
zulist.setAddress(apply.getAddress());
zulistService.insertzulist(zulist);
//从申请列表中删除
applyService.deletebyhouse_id(hetong1.getHouse_id());
model.addAttribute("error", "zusuccess");
return "redirect:/zulist/findzulist.action";
}
@RequestMapping("/seehetong")
public String seehetong(String house_id,Model model){
Hetong hetong=hetongService.findhetong(house_id);
model.addAttribute("hetong", hetong);
model.addAttribute("mainPage", "hetong.jsp");
return "admin/main1";
}
@RequestMapping("/updatehetong")
public String updatehetong(String house_id,Model model){
Hetong hetong=hetongService.findhetong(house_id);
model.addAttribute("hetong", hetong);
model.addAttribute("mainPage", "updatehetong.jsp");
return "admin/main1";
}
@RequestMapping("/changehetong")
public String changehetong(Hetong hetong){
hetongService.updatehetong(hetong);
return "redirect:/zulist/findzulist.action";
}
//终止合同操作:删除合同,插入已退租列表,删除在租列表,删除房屋列表
@RequestMapping("/deletehetong")
public String deletehetong(String house_id,Model model){
hetongService.deletehetong(house_id);
Zulist zulist=zulistService.findzulist(house_id);
Checkout checkout=new Checkout();
checkout.setHouse_id(house_id);
checkout.setAddress(zulist.getAddress());
checkout.setStatus("已退租");
checkout.setUserlist_id(zulist.getUserlist_id());
checkoutService.insertcheckout(checkout);
houselistService.deletehousebyhouseid(house_id);
zulistService.deletezulist(house_id);
model.addAttribute("error", "checkoutsuccess");
return "redirect:/zulist/findzulist.action";
}
@RequestMapping("/zukeseehetong")
public String zukeseehetong(String house_id,Model model){
Hetong hetong=hetongService.findhetong(house_id);
model.addAttribute("hetong", hetong);
model.addAttribute("mainPage", "showhetong.jsp");
return "zuke/main";
}
}
源码获取:俺的博客首页 "资源" 里下载!
本文介绍了基于SSM框架的房屋出租系统,包括管理员、用户和房东的功能模块,如用户管理、房源管理、订单处理等,并详细描述了登录验证、数据库配置和主要功能实现的控制层代码片段。

被折叠的 条评论
为什么被折叠?



