首页 > 编程语言 >【毕设项目推荐】Java的房屋租赁系统

【毕设项目推荐】Java的房屋租赁系统

时间:2024-10-09 09:21:33浏览次数:11  
标签:src 毕设 Java 登录 房源 订单 java main 租赁

今天给大家介绍一款基于Java的房屋租赁系统,页面非常精美功能且丰富

项目介绍

房屋租赁系统(verio_house)是一个基于 SSM 开发的标准 Java Web 项目。整体页面非常的简约大气(个人觉得我设计的页面还是非常的
Beautiful)。整体项目的完整度较高,但是当时没有花精力去对接支付系统,所以支付订单的功能是假的,不过还是可以形成业务闭环。

角色介绍

系统共设计了三个角色:游客、房东、租客。当时考虑的比较简单,没有设置系统管理员的角色,反正对于一些小项目而且也够用了。

  1. 游客:尚未进行注册和登录。具备登录注册、房源的搜索、查询详情等权限。
  2. 房东:用户角色为房东,有出租房屋需求的群体。具备登录、个人资料的修改、登录密码修改、房源的搜索、查询详情、房源的收藏、查看租房订单、取消订单、房源信息的发布、房源信息的查询管理、房源状态的管理、反馈信息的处理等权限。
  3. 租客:用户角色为租客,有租房需求的群体。具备登录、个人资料的修改、登录密码修改、房源的搜索、查询详情、房源的收藏、创建租房订单、取消订单、删除订单、支付、房源评价、反馈信息的填报等权限。

功能介绍

游客功能介绍
功能模块功能描述
登录注册方面注册成为系统用户
系统主页浏览系统主页、房源信息搜索、房源详情的查看(统计浏览量)
房东功能介绍
功能模块功能描述
登录注册方面填写用户信息进行账号注册、使用邮箱密码进行登录
个人资料方面修改个人资料(姓名、所在地、邮箱、手机号、身份证号、个人说明等)、修改登录密码
订单管理方面查看所有订单、订单详情、取消订单、删除订单
发布房源填写基本信息、填写详细信息、上传封面图片以及房屋照片
房源信息管理自己已发布的房源信息、编辑房源、删除房源、暂停发布、启动发布、租期到期
反馈信息方面查询所有反馈信息、反馈信息搜索、删除反馈、处理反馈
收藏管理方面查询所有收藏信息、收藏信息搜索、取消收藏
系统主页浏览系统主页、房源信息搜索、房源详情的查看(统计浏览量)、收藏房源
租客功能介绍
功能模块功能描述
登录注册方面填写用户信息进行账号注册、使用邮箱密码进行登录
个人资料方面修改个人资料(姓名、所在地、邮箱、手机号、身份证号、个人说明等)、修改登录密码
订单管理方面查看所有订单、创建订单、支付订单(假支付)、订单详情、取消订单、删除订单、评论房源
反馈信息方面反馈信息、查询所有反馈信息、反馈信息搜索、查询详情以及处理意见
收藏管理方面查询所有收藏信息、收藏信息搜索、取消收藏
系统主页浏览系统主页、房源信息搜索、房源详情的查看(统计浏览量)、收藏房源

技术介绍

前端

名称描述
HTML、CSS用于设计网页的内容和样式
JavaScript、JQuery作为开发 Web 页面的脚本语言,为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果
Bootstrap基于 HTML、CSS、JavaScript 开发的简洁、直观、强悍的前端开发框架,使得 Web 开发更加快捷
前端模板房屋租赁系统模板 Verio,模板文件已放在项目目录下

后端

名称描述
SpringSpring 是 Java EE 编程领域的一个轻量级开源框架,该框架由一个叫 Rod Johnson 的程序员在 2002 年最早提出并随后创建,是为了解决企业级编程开发中的复杂性,实现敏捷开发的应用型框架。Spring 是一个开源容器框架,它集成各类型的工具,通过核心的 Bean factory 实现了底层的类的实例化和生命周期的管理。在整个框架中,各类型的功能被抽象成一个个的 Bean,这样就可以实现各种功能的管理,包括动态加载和切面编程。
SpringMVCSpring MVC 属于 SpringFrameWork 的后续产品,已经融合在 Spring Web Flow 里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。
MyBatis PlusMyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
ThymeleafThymeleaf 是一个流行的模板引擎,该模板引擎采用 Java 语言开发的,用于渲染 XML/XHTML/HTML5 内容的模板引擎。类似 JSP、Velocity、FreeMaker 等,它也可以轻易的与 Spring MVC 等 Web 框架进行集成作为 Web 应用的模板引擎。
DruidDruid 是一个高效的数据查询系统,主要解决的是对于大量的基于时序的数据进行聚合查询。数据可以实时摄入,进入到 Druid 后立即可查,同时数据是几乎是不可变。通常是基于时序的事实事件,事实发生后进入 Druid,外部系统就可以对该事实进行查询。

开发工具与环境

  • 开发工具

    • IntelliJ IDEA 2019.2.2 主要进行系统的开发、系统调试等
      • 使用到的插件
        • Lombok:使用注解代替在实体类中添加的 get、set方法、toString 方法等
    • WebStorm 2019.2.1 主要进行前端页面的开发。
    • Navcat 主要进行数据库的连接、建库建表、系统调试等。
  • 开发环境

    • JDK 1.8
    • Maven 3.6
    • MySQL 5.7
    • Tomcat 8.5.78
  • 阿里云 OSS 对象存储

    阿里云对象存储 OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存储服务,对于我们这个项目而言,所有的二进制文件,包括头像、用户上传的文件都是存储到了
    OSS 里面(调用相关的工具类),在数据库中只是保存了文件的 URL 地址。通过这个 URL 地址就可以获取、下载指定文件。

    https://gitee.com/cn_moti/moti-img/raw/master/other/8b11eb7e6311402098beb55845d2ce6a.jpg

项目结构

本项目使用标准 SSM 目录结构,后端使用 MVC 三层架构,具体项目结构如下:

  • src:源码目录
  • src/main/java:源码主体目录
  • src/main/java/xxx/component:java常用组件存放地址,比如登录拦截器【拦截器】
  • src/main/java/xxx/controller:java控制器类存放地址【控制层】
  • src/main/java/xxx/entity:java实体类存放地址【模型】
  • src/main/java/xxx/dao:MyBatis的映射接口存放地址,【数据访问层】
  • src/main/java/xxx/service:java业务层接口存放地址【业务逻辑抽象层】
  • src/main/java/xxx/utils:java工具类存放地址【工具类】
  • src/resources:资源文件存放目录(Spring、SpringMVC、Mybatis、日志、数据源、数据库脚本等)
  • src/main/resources/mybatis:MyBatis配置文件位置
  • src/main/resources/mybatis/mybatis-config.xml:MyBatis全局配置文件
  • src/main/resources/spring/applicationContext.xml:Spring配置文件
  • src/main/resources/springmvc/springmvc-servlet.xml:Spring配置文件
  • src/main/resources/db.properties:数据源配置
  • src/main/resources/log4j.properties:日志配置
  • src/main/resources/verio_house.sql:数据库脚本
  • src/main/webapp/resource:前端静态资源存放地址
  • src/main/webapp/WEB-INF/templates:前端页面存放地址
  • src/main/webapp/WEB-INF/web.xml:Java EE工程文件
  • pom.xml:Maven项目依赖管理文件

注意!如果想要部署本项目,你需要修改两个文件:

  1. 数据库配置文件:src/main/resources/db.properties
  2. 阿里云对象存储配置:src/main/java/com/verio/utils/OssUtil.java

注意 MySQL 的版本是 5.7,使用其它版本可能会出现其它未知问题。

系统截图

系统主页

系统注册

房源搜索

浏览房源

发布房源

我的房屋

支付页面

源码获取

源码获取以及更多详情:javaxiaobear

标签:src,毕设,Java,登录,房源,订单,java,main,租赁
From: https://blog.csdn.net/Y_hanxiong/article/details/142772285

相关文章

  • java复制查询数组-cnblog
    java数组复制数组copyOf(待复制数组,复制后新数组的长度)如果复制后数组的长度,长于原来数组,多出来的元素会被补0,如果新数组元素少会从第一个元素,取到指定元素长度packagenb;importjava.util.Arrays;publicclasscopyOf_{publicstaticvoidmain(String[]......
  • JAVA基础: synchronized 和 lock的区别、synchronized锁机制与升级
    1synchronized和lock的区别synchronized是一个关键字,lock是一个接口,实际使用的是实现类synchronized通过触发的是系统级别的锁机制,lock是API级别的锁机制synchronized自动获得锁,自动释放锁。lock需要通过方法获得锁并释放锁synchronized可以修饰代码段和方法,lock......
  • JAVA基础:Lock不同的锁形式
    1.1可重入锁synchronized就是一个可重入锁使用lock时,常用的ReentryLock就是可重入锁当一个线程在获得a对象锁之后,可以继续重复获得对象锁代码形式就是线程调用同步代码段,在没有执行完毕前,又调用了该对象的另一个同步代码段publicclassTest4{publicstatic......
  • 【java 使用 ffmpeg 将rtsp转hls】
    java海康接口ffmpeg提示海康相关文件开发准备工具使用获取监控列表ffmpeg转换视频流视频流转换导入提示java使用SpringBoot框架jdk使用1.8版本海康通过访问OpenAPI文档中心的方式可以验证API网关是否安装成功,访问地址http://IP:Port/artemis-portal/......
  • javascript学习——CSS 操作总结
    CSS操作CSS与JavaScript是两个有着明确分工的领域,前者负责页面的视觉效果,后者负责与用户的行为互动。但是,它们毕竟同属网页开发的前端,因此不可避免有着交叉和互相配合。本章介绍如何通过JavaScript操作CSS。HTML元素的style属性操作CSS样式最简单的方法,就是......
  • javascript学习——DOM 概述
    DOM概述DOMDOM是JavaScript操作网页的接口,全称为“文档对象模型”(DocumentObjectModel)。它的作用是将网页转为一个JavaScript对象,从而可以用脚本进行各种操作(比如增删内容)。浏览器会根据DOM模型,将结构化文档(比如HTML和XML)解析成一系列的节点,再由这些节点组......
  • Java开发之JDK下载
    JDK是什么?JDK(JavaDevelopmentKit)是Java开发工具包,包含了编译、运行Java程序所需的工具和环境。如何下载JDK?访问Oracle官网:打开Oracle的Java官网:JavaDownloads|Oracle选择适合的版本:根据你的操作系统(Windows、macOS、Linux)和项目需求选择合适的JDK版本。一般来说,选......
  • 基于数据可视化+Javaweb实现的物流管理系统设计与实现(源码+数据库+论文+部署+文档+讲
    文章目录前言系统演示录像论文参考代码运行展示图技术框架SpringBoot技术介绍系统测试系统测试的目的系统功能测试推荐选题:代码参考实现案例找我做程序,有什么保障?联系我们前言......
  • 基于数据可视化+Java+SpringBoot+Vue实现的高校食堂移动预约点餐系统设计与实现
    文章目录前言系统演示录像论文参考代码运行展示图技术框架SpringBoot技术介绍系统测试系统测试的目的系统功能测试推荐选题:代码参考实现案例找我做程序,有什么保障?联系我们前言......
  • java学习笔记3-高级循环-练习题
    黑马java有关数组的几道感觉比较难的题目,记录一下。第一题现有一个整数数组,数组中的每个元素都是[0-9]之间的数字,从数组的最大索引位置开始到最小索引位置,依次表示整数的个位、十位、百位。。。依次类推。请编写程序计算,这个数组所表示的整数值。例如:数组:{2,1,3,5,4}......