Java项目:107SpringBoot房屋租赁网站

博主主页:Java旅途
简介:分享计算机知识、学习路线、系统源码及教程
文末获取源码

一、项目介绍

房屋租赁网站基于SpringBoot+Mybatis开发,系统分为管理员和普通用户两种角色。

管理员功能如下:

  • 登录
  • 修改密码
  • 查看用户
  • 房屋管理
  • 图片上传

普通用户功能如下:

  • 网站首页
  • 房屋浏览
  • 房屋查询
  • 注册登录
  • 房屋预定
  • 我的租房信息
  • 发布房源

二、技术框架

  • 后端:SpringBoot,Mybatis
  • 前端:layui

三、安装教程

  1. 用idea打开项目
  2. 在idea中配置jdk环境
  3. 配置maven环境并下载依赖
  4. 新建数据库,导入数据库文件
  5. 在application.properties文件中将数据库账号密码改成自己本地的
  6. 系统的静态资源存储在D盘,如果你的电脑没有D盘,则需要改成其他盘,具体位置在WebConfig.java和AddHouseController.java两个文件,将文件里面的D:改成你本地有的盘符即可。
  7. 启动运行, 管理员账号密码 admin/123456,普通用户直接注册或者使用默认账户 zhang/123456

四、项目截图

ocalhost

localhost

image-20230711151605673

image-20230711151617812

image-20230711151643187

五、相关代码

OrderController

package com.house.wym.controller;import java.util.List;import javax.servlet.http.HttpServletRequest;import com.house.wym.entity.*;
import com.house.wym.service.IOrderService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;@Controller
public class OrderController {@Autowiredprivate IOrderService sevice;@RequestMapping("/myorder")public String toOrderPage() {return "myorder";}@RequestMapping("/updatepwd")public String toUpdatepwdPage() {return "updatepwd";}@RequestMapping("/addOrder")@ResponseBodypublic String addOrder(String id,HttpServletRequest request) {Users u = (Users) request.getSession().getAttribute("loginUser");try {Order order = new Order();order.sethID(Integer.parseInt(id));order.setOrderUser(u.getuNickName());order.setuID(u.getuID());int n = sevice.addOrder(order);if(n>0) {return "OK";}} catch (NumberFormatException e) {e.printStackTrace();}return "FAIL";}@RequestMapping("/myOrderInfo")@ResponseBodypublic UserOrderData findAllOrder(int page, int limit, HttpServletRequest request){Page p = new Page();p.setPage((page - 1) * limit);p.setLimit(limit);Users u = (Users) request.getSession().getAttribute("loginUser");p.setuID(u.getuID());UserOrderData uod = new UserOrderData();List<UserOrder> order = sevice.findAllOrder(p);uod.setCode(0);uod.setCount(sevice.getOrderCount(u.getuID()));uod.setData(order);uod.setMsg("200");return  uod;}@RequestMapping("/deleteOrder")@ResponseBodypublic String deleteOrder(int oID) {int n = sevice.deleteOrder(oID);if(n>0)return "OK";return "FAIL";}
}

LoginController

package com.house.wym.controller;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;import com.house.wym.config.MD5;
import com.house.wym.entity.Users;
import com.house.wym.service.IUserService;
import com.wf.captcha.utils.CaptchaUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;@Controller
public class LoginController {@Autowiredprivate IUserService mapper;@RequestMapping("/captcha")public void captcha(HttpServletRequest request, HttpServletResponse response) throws Exception {CaptchaUtil.out(request, response);}@RequestMapping("/login")@ResponseBodypublic String toCustomerPage(String username,String password,String verCode,HttpServletRequest req ) {if (!CaptchaUtil.ver(verCode, req)) {CaptchaUtil.clear(req);  // 清除session中的验证码return "FAIL1";}Users user = new Users();user.setuName(username);user.setuPassword(MD5.getMD5ofStr(password));Users loginUser = mapper.login(user);if(loginUser!=null) {req.getSession().setAttribute("loginUser", loginUser);return "OK";}return "FAIL";}@RequestMapping("/signout")public String signout(HttpSession session) {session.invalidate();return "redirect:toIndexPage";}@RequestMapping("/regist")@ResponseBodypublic String regist(Users user,String verCode,HttpServletRequest req) {if (!CaptchaUtil.ver(verCode, req)) {CaptchaUtil.clear(req);  // 清除session中的验证码return "FAIL1";}int regist;try {regist = mapper.regist(user);if(regist>0) {return "OK";}} catch (Exception e) {e.printStackTrace();}return "FAIL";}}

大家点赞、收藏、关注、评论啦 、👇🏻点开下方卡片👇🏻关注后回复 101

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/593336.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

百度地图BMapGL通过geojson数据画镇级别区域图,并掩膜其他区域不展示

geojson镇级别的数据去这里下POI数据|POI兴趣点|POI数据库|POI兴趣点下载|POI数据下载|最新POI数据库|最全POI数据库|谷歌POI数据库|2023年POI数据库 <script src"https://unpkg.com/axios/dist/axios.min.js"></script>&#xff08;原始的html页面引入a…

图像的腐蚀与膨胀

图像的腐蚀与膨胀 设集合 B B B的反射为 B ^ \hat{B} B^&#xff0c;其定义如下 B ^ { w ∣ w − b , b ∈ B } \hat{B}\begin{Bmatrix}w|w-b,b\in B\end{Bmatrix} B^{w∣w−b,b∈B​} 设集合 B B B按照点 z ( z 1 , z 2 ) z(z_1,z_2) z(z1​,z2​)平移得到集合 ( B ) z (…

数据结构学习 jz46把数字翻译成字符串

关键词&#xff1a;动态规划 字符串 数组 滚动数组优化 这道题还算简单&#xff0c;调滚动数组废了点时间&#xff0c;dp状态和转移方程比较容易推出。 用时28mins。 题目&#xff1a; 思路&#xff1a; 把ciphertext拆成一个一个数字的方法&#xff1a; 求10的余数得到最…

AI边缘计算智能分析网关V4如何配置周界入侵检测算法

旭帆科技的智能分析网关V4内含近40种智能分析算法&#xff0c;包括人体、车辆、消防、环境卫生、异常检测等等&#xff0c;在消防安全、生产安全、行为检测等场景应用十分广泛&#xff0c;如常见的智慧工地、智慧校园、智慧景区、智慧城管等等&#xff0c;还支持抓拍、记录、告…

一个人去广东怎么找工作

广东这么大&#xff0c;不用怕没有学历活不下去。没有学历想好好活下去&#xff0c;就得卖力气。 广东找工作上 吉鹿力招聘网 打开 吉鹿力招聘网 “注册账号”&#xff0c;然后输入个人基本信息&#xff0c;进行注册&#xff08;可使用手机号注册&#xff0c;也可以使用邮箱注…

stable diffusion 基础教程-提示词之光的用法

基图 prompt: masterpiece,best quality,1girl,solo,looking at viewer,brown hair,hair between eyes,bangs,very long hair,red eyes,blush,bare shoulders,(white sundress),full body,leaning forward,medium breasts,unbuttoned clothes,Negative prompt: EasyNegativ…

【MPC学习笔记】02:MPC详细简介(Lecture 1_1 Unconstrained MPC)

本笔记来自北航诸兵老师的课程 课程地址&#xff1a;模型预测控制&#xff08;2022春&#xff09;lecture 1-1 Unconstrained MPC 接上一篇&#xff1a;【MPC学习笔记】01&#xff1a;MPC简介&#xff08;Lecture 1_1 Unconstrained MPC&#xff09; 文章目录 1 详细介绍1.1 状…

jupyter 配置

# 安装 pip install --upgrade pip setuptools pip install jupyter notebook6.4.9 # 生成Jupyter默认配置文件&#xff0c;并自定义配置选项 jupyter notebook --generate-config # 修改配置文件 /root/.jupyter/jupyter_notebook_config.py 注意使用参数 c.NotebookApp.a…

用python实现调用海康SDK

海康威视&#xff08;Hikvision&#xff09;提供了Python SDK&#xff0c;用于与他们的摄像头和其他设备进行交互。为了使用这些SDK&#xff0c;首先需要在你的系统上安装海康威视的Python库。 下面是如何在Python中使用海康威视的SDK来调用摄像头的方法&#xff1a; python复…

面试算法82:包含重复元素集合的组合

题目 给定一个可能包含重复数字的整数集合&#xff0c;请找出所有元素之和等于某个给定值的所有组合。输出中不得包含重复的组合。例如&#xff0c;输入整数集合[2&#xff0c;2&#xff0c;2&#xff0c;4&#xff0c;3&#xff0c;3]&#xff0c;元素之和等于8的组合有2个&a…

BUUCTF——Reverse——Java逆向解密

1、题目 2、工具 jd-gui&#xff1a;Java反汇编器。 ​python&#xff1a;编写自动化脚本。 3、方法 下载压缩包&#xff0c;解压得到一个.class文件。 ​题目已经说了是java逆向&#xff0c;所以使用jd-gui打开该文件。 代码如下&#xff1a; import java.io.PrintStream; …

WiFi7:EMLSR 操作之二 – 打开和关闭

原文&#xff1a;non-AP MLD如果想打开EMLSR模式&#xff0c;那么 --non-AP STA必须发送EML Operating Mode Notification帧&#xff0c;EML Control域的EMLSR Mode子域设置为1。 --可选的&#xff0c;non-AP STA将EML Control 域的In-Devic Coexistence Activities子域设置为1…

大模型笔记 【1】 大模型初探

以下是Andrej Karpathy一小时讲解chatgpt的笔记。 Andrej Karpathy做自动驾驶的人应该比较熟悉&#xff0c;他是李飞飞的学生。在openAI做了一年半的科学家之后&#xff0c;去了特斯拉。在Tesla AI day讲解tesla自动驾驶方案的就是他。 这里我的主要收获是两个 大模型是一个有…

王道考研计算机组成原理——数据的表示和运算

数制转换 任意进制》十进制&#xff1a;位权*位数即可 整数部分补0是补在头部&#xff0c;小数部分补0是补在尾部 一般都是先把十进制》二进制&#xff1b;然后二进制再转换成8/16进制这样子 一种更快的方法->拼凑法&#xff1a;小数部分整数部分都可以这样求 一般都是先…

挑战Python100题(9)

100+ Python challenging programming exercises 9 Question 81 Please write a program to randomly print a integer number between 7 and 15 inclusive. Hints: Use random.randrange() to a random integer in a given range. 请编写一个程序,随机打印一个介于7和15之间…

Single-Image Crowd Counting via Multi-Column Convolutional Neural Network

Single-Image Crowd Counting via Multi-Column Convolutional Neural Network 论文背景人群密度方法过去的发展历史早期方法基于轨迹聚类的方法基于特征回归的方法基于图像的方法 Multi-column CNN用于人群计数基于密度图的人群计数通过几何自适应核生成密度图密度图估计的多列…

Rhel8安装Postgres

前提 实际上安装数据库的过程大同小异&#xff0c;只要linux的代差和数据库代差不是大的离谱的话都是同样的操作流程 本次工作环境是RHEL8.8&#xff0c;类推RHEL7&#xff0c;8&#xff0c;9没有问题 使用postgre是13版本&#xff0c;话说中文社区只更新到12版本 安装步骤…

ChatGPT在金融财务领域的10种应用方法

1.生成报告 在金融领域中&#xff0c;最耗时的任务之一是报告生成。通过ChatGPT&#xff0c;您可以在一定程度上自动化这个过程。这款人工智能工具可以获取关于公司财务表现的结构化数据&#xff0c;并生成一份书面摘要&#xff0c;详细说明关键点、趋势和观察结果。这个功能在…

【论文+在线运行】AnyText:能准确写汉字的AI绘图工具

源码&#xff1a;https://github.com/tyxsspa/AnyText 阿里在线运行: https://modelscope.cn/studios/damo/studio_anytext/summary 论文&#xff1a;2311.AnyText: Multilingual Visual Text Generation And Editing 一、AnyTexT是什么&#xff1f; 是一个基于扩散模型的&am…

ATE自动测试设备是什么?如何帮助测试电源反复短路?

什么是电源反复短路测试? 反复短路测试是电源极限测试项目之一&#xff0c;是在各种输入和输出状态下将电源输出短路&#xff0c;反复多次短路测试&#xff0c;检测电源是否可以实现保护或回缩&#xff0c;测试结束后之后&#xff0c;电源是否可以自动恢复正常运行。反复短路测…