Java项目:SSH房屋租赁管理系统

114 篇文章 4 订阅
111 篇文章 0 订阅

作者主页:夜未央5788

 简介:Java领域优质创作者、Java项目、学习资料、技术互助

文末获取源码

项目介绍

查看发布人信息,查看房屋详情,用户注册等功能。

用户角色包含以下功能:
个人信息修改,其他住宿信息发布,发表留言,查看自己发布的信息,用户发布房屋信息,登陆成功等功能。

管理员角色包含以下功能:
公告管理,房屋信息发布,房屋信息管理,房屋类别管理,留言管理,管理员登录,首页等功能。

由于本程序规模不大,可供课程设计,毕业设计学习演示之用

环境需要

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.数据库:MySql 5.7版本;

6.是否Maven项目:否;

技术栈

1. 后端:mysql+Spring+hibernate+Struts 2

2. 前端:HTML+CSS+JavaScript+jsp

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中application.yml配置文件中的数据库配置改为自己的配置;

4. 运行项目,输入localhost:8080/ 登录

运行截图

 

管理员页面

相关代码 

管理员控制器

@RestController
@RequestMapping("/admin")
public class AdminController {

    @Autowired
    private IAdminService service;

    /**
     * 登录请求
     *
     * @param userName     用户名
     * @param userPassword 密码
     * @param req          req
     * @return res
     */
    @PostMapping("/adminAccess")
    public String adminAccess(String userName, String userPassword, HttpServletRequest req) {
        Admin admin = new Admin(0, userName, userPassword);
        Admin adminAccess = service.adminAccess(admin);
        req.getSession().setAttribute("Admin", adminAccess);
        if (adminAccess != null) {
            return "OK";
        }
        return "FAIL";
    }

    /**
     * 查询所有用户
     *
     * @return res
     */
    @GetMapping("/allUser")
    public UserData findAllUser() {
        List<User> findAllUser = service.findAllUser();
        UserData userData = new UserData();
        userData.setCode(0);
        userData.setCount(findAllUser.size());
        userData.setData(findAllUser);
        userData.setMsg("OK");
        return userData;
    }

    /**
     * 更新用户信息
     *
     * @param user user
     * @return res
     */
    @PostMapping("/editUser")
    public String editUser(User user) {
        int n = service.updateUser(user);
        if (n > 0) {
            return "OK";
        }
        return "FAIL";
    }

    /**
     * 查询所有房源
     *
     * @param page  page
     * @param limit limit
     * @return res
     */
    @RequestMapping("/houseList")
    public UserHouseData findAllHouse(int page, int limit) {
        Page p = new Page();
        p.setLimit(limit);
        p.setPage((page - 1) * limit);
        List<House> findAllHouse = service.findAllHouse(p);
        UserHouseData data = new UserHouseData();
        data.setCode(0);
        data.setCount(findAllHouse.size());
        data.setData(findAllHouse);
        data.setMsg("OK");
        return data;
    }

    /**
     * 删除房源
     *
     * @param houseId 房源id
     * @return res
     */
    @RequestMapping("/deleteHouse")
    public String deleteHouse(int houseId) {
        int deleteHouse = service.deleteHouse(houseId);
        if (deleteHouse > 0) {
            return "OK";
        }
        return "FAIL";
    }

    /**
     * 管理员删除用户
     */
    @PostMapping("/deleteUser")
    public String deleteUser(Integer userId) {
        int n = service.deleteUser(userId);
        if (n > 0) {
            return "OK";
        }
        return "FAIL";
    }

    /**
     * 修改管理员登录密码
     *
     * @param request     req
     * @param oldPwd      旧密码
     * @param newPwd      新密码
     * @param confirmPwd 确认密码
     * @return res
     */
    @PostMapping("/changePassword")
    public String changePassword(HttpServletRequest request, String oldPwd, String newPwd, String confirmPwd) {
        Admin checkAdmin = new Admin();
        Admin adminSession = (Admin) request.getSession().getAttribute("Admin");
        checkAdmin.setId(adminSession.getId());
        checkAdmin.setUserPassword(oldPwd);
        // 拿到当前登录的账户密码
        Admin checkAdminPwd = service.checkAdminPwd(checkAdmin);
        if (checkAdminPwd == null) {
            return "ERROR";
        }
        if (!newPwd.equals(confirmPwd)) {
            return "FAIL";
        }
        Admin admin = new Admin();
        admin.setId(adminSession.getId());
        admin.setUserPassword(newPwd);
        int n = service.changePassword(admin);
        if (n > 0) {
            return "OK";
        }
        return "FAIL";
    }
}

视图管理控制器

@Controller
@RequestMapping("/admin")
public class AdminViewController {

    @Autowired
    private IAdminService service;

    @Autowired
    private IHouseService dao;

    /**
     * 登录页
     *
     * @return view
     */
    @GetMapping({"/", "/index.html"})
    public String toAdminLogin() {
        return "/admin/login.jsp";
    }

    /**
     * 注销登录
     *
     * @param request req
     * @return view
     */
    @GetMapping("/logout")
    public String logout(HttpServletRequest request) {
        request.getSession().invalidate();
        return "redirect:/index.html";
    }

    /**
     * 管理员首页
     *
     * @return view
     */
    @GetMapping("/home.html")
    public String toAdminHomePage() {
        return "/admin/home.jsp";
    }

    /**
     * 修改密码页
     *
     * @return view
     */
    @GetMapping("/changePassword.html")
    public String changePasswordPage() {
        return "/admin/changePassword.jsp";
    }

    /**
     * 查询所有用户页
     *
     * @return view
     */
    @GetMapping("/allUser.html")
    public String toAllUserPage() {
        return "/admin/allUser.jsp";
    }

    /**
     * 所有房源数据页
     *
     * @return view
     */
    @GetMapping("/houseList.html")
    public String toAllHousePage() {
        return "/admin/houseList.jsp";
    }

    /**
     * 传入id,跳转到修改用户界面
     *
     * @return view
     */
    @GetMapping("/editUser.html")
    public String toEditUserPage(int userId, HttpServletRequest req) {
        User findUserById = service.findUserById(userId);
        req.getSession().setAttribute("User", findUserById);
        return "/admin/editUser.jsp";
    }

    /**
     * 跳转到管理员更新房源界面
     *
     * @param houseId 房源ID
     * @param request req
     * @return view
     */
    @RequestMapping("/updateHouse.html")
    public String toUpdatePage(int houseId, HttpServletRequest request) {
        House house = dao.findHouseDetailsById(houseId);
        request.getSession().setAttribute("House", house);
        return "/admin/updateHouse.jsp";
    }
}

首页控制器

@Controller
public class HomeController {

    @Autowired
    private IHouseService service;

    /**
     * 首页
     *
     * @param request request
     * @return view
     */
    @GetMapping({"/index.html", "/"})
    public String index(HttpServletRequest request) {
        List<House> findHomeInfo = service.findHomeInfo();
        request.getSession().setAttribute("House", findHomeInfo);
        return "index/index.jsp";
    }

    /**
     * 模糊查询
     *
     * @param request  request
     * @param keywords keywords
     * @return res
     */
    @PostMapping("/fuzzy")
    public String findHouseByLike(HttpServletRequest request, String keywords) {
        List<House> findHomeInfo = service.findHouseByLike(keywords);
        request.getSession().removeAttribute("House");
        request.getSession().setAttribute("House", findHomeInfo);
        return "index/index.jsp";
    }

    /**
     * 价格升序查询
     *
     * @param request request
     * @return res
     */
    @GetMapping("/priceAsc")
    public String findPriceAsc(HttpServletRequest request) {
        List<House> findHomeInfo = service.findHouseOrderByAsc();
        request.getSession().removeAttribute("House");
        request.getSession().setAttribute("House", findHomeInfo);
        return "index/index.jsp";
    }

    /**
     * 价格降序查询
     *
     * @param request request
     * @return res
     */
    @GetMapping("/priceDesc")
    public String findPriceDesc(HttpServletRequest request) {
        List<House> findHomeInfo = service.findHouseOrderByDesc();
        request.getSession().removeAttribute("House");
        request.getSession().setAttribute("House", findHomeInfo);
        return "index/index.jsp";
    }
}

如果也想学习本系统,下面领取。关注并回复:053ssh

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜未央5788

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值