基于Java Web的网上房屋租售网站
内容摘要
本毕业设计题目为《基于Java Web的网上房屋租售网站》,是在信息化时代下充分利用互联网对传统房屋租售方式进行创新,在互联网上进行房屋租售突破了传统方式的局限性。对于房屋租售的当事人都提供了极大的便利。本稳针对了实际用户需求,核心应用了JSP(Java Server Pages)技术、SSM(Spring + SpringMVC + MyBatis)框架和MySQL数据库设计了基于Java Web的网上房屋租售网站。网站主要分为房东和租客两大模块,主界面都大致相同,但是所有的功能不同。房东:添加房源、查看在租或退租、处理看房或退租申请、收租、处理保障。租客:查看房源信息和租赁信息、申请看法或退租、缴纳租金、上传保障。整个设计交互简单易懂,用户可快速适应系统操作。本文将重点介绍网站设计的主要内容。
关键词:房屋 SSM框架 数据库 Java web
Abstract
The title of this graduation project is "online house renting and selling website based on Java Web". It is to make full use of the Internet to innovate the traditional house renting and selling mode in the information age, and to carry out house renting and selling on the Internet breaks through the limitations of the traditional way. It is very convenient for the parties who rent and sell houses. Aiming at the actual needs of users, this article has designed an online housing rental website based on Java Web by using JSP (Java Server Pages) technology, SSM (Spring + spring MVC + mybatis) framework and MySQL database. The website is mainly divided into two modules: Landlord and tenant. The main interface is basically the same, but all functions are different. Landlord: add house source, view on lease or leaseback, process application for house inspection or leaseback, collect rent and handle security. Renter: view the house source information and rental information, apply for opinions or rent back, pay rent, upload security. The interaction of the whole design is simple and easy to understand, and users can quickly adapt to the system operation. This paper will focus on the main content of website design.
Key words: Building SSM framework database Java Web
目录第一章绪论11.1 系统开发的背景和在国内外发展的概况11.1.1 系统开发的背景11.1.2 系统在国内外发展的概况11.2 系统开发的目的及意义2第二章可行性分析32.1 社会可行性分析32.2 技术可行性分析32.3 操作可行性分析32.4 经济可行性分析32.5 系统的技术介绍42.5.1 JavaScript42.5.2 CSS42.5.3 MySQL42.5.4 JDBC42.5.5 SSM52.6 系统开发平台工具及运行环境52.6.1 系统开发平台工具52.6.2 运行环境5第三章需求分析63.1 系统功能概况63.2 系统架构分析73.3 系统用例分析8第四章数据库的设计114.1概念模型设计114.2 数据库表设计16第五章功能设计与实现185.1 用户状态图与活动图设计185.2 教学辅助系统首页设计205.3用户模块215.3.1 类的说明215.3.2 用户注册225.3.3 用户登录235.4 房源模块255.4.1 类的说明255.4.2 添加房源255.4.3查看房源265.4.4房源详细275.4.5搜索房源285.4.6修改房源295.5申请与租赁模块335.4.1 类的设计335.4.2 申请看房335.4.3同意或拒绝租赁345.4.4查看租赁345.6申请与退租模块365.6.1 类的设计365.6.2申请退租365.6.3同意或拒绝租赁395.6.4查看已退租395.7租金模块365.7.1 类的设计365.7.2我要收租365.7.3待缴租金395.7.4已缴租金395.8租金模块365.8.1 类的设计365.8.2我要报障365.8.3未处理报障395.8.4已处理报障395.9日程模块365.9.1 类的设计365.9.2添加日程365.9.3查看日程39第六章系统测试477.1 系统测试的目的477.2 测试的准则477.3 测试方法487.4 测试用例487.5 测试结论53第七章结论55致谢56参考文献57
第一章 绪论
1.1 系统开发的背景和在国内外发展的概况
1.1.1 系统开发的背景
随着二十一世纪以来世界网络技术的发展,互联网应用到越来越来多的行业中。互联网使得许多传统行业开创了新模式。互联网的几乎涉足到所有行业,互联网的全球性也让各行各业发展得越来越好。一个行业如果只是一直坚守传统方式,不适应当时世界局势做出改变的话,是很难在这个不断变化、不断发展的世界环境下保存下来的。而房屋租售行业显然也完全融入了互联网,在我国经济的高速发展下,出现了很多大的房屋租售平台。例如58同城、链家等。传统的租售方式需要人工进行广告宣传、登记资料等,在租售之后又有许多琐碎的工作,要对房屋进行管理,收取租金等等,各项工作所需要的人力资源和房屋数量基数成正比,太耗人力。然而利用计算机,可以大大节省人力资源,计算机可以代替人工处理大部分工作,人工整理资料等也容易会出错,计算机也优化了一点,计算机能对大量数据进行处理,在保存数据方面也比传统纸张更便捷更安全。
1.1.2 系统在国内外发展的概况
现如今,在网络技术高速发展的二十一世纪,世界各国的网络使用人数都在不断增加,而房屋中介行业在互联网上的应用也早已开始。民以食为天,在如今多数人都能不受饥饿的折磨,都在为更好的生活水平而奋斗,都在往大城市发展,就像我国的北上广等地区。集中了数量庞大的外来人口,外来人口在城市中立足的根本就是要先定居。所以无论在国内还是国外,对于房屋中介行业来说,在互联网上的应用基本早已成熟。住房永远是最重要的民生问题之一,在我国,住房的压力日益增加,外来人口在北上广等地区买房的限制政策也多,而且房价的不菲也让许多人望而却步。租房往往是最好的选择,我国的房屋中介网站数量也很多,不乏有许多大企业,很多企业主打业务也还是租房,买房的手续及其他步骤相对复杂,基本在线下进行。但是相信在将来互联网技术的不断发展,和我国政策的支持之下,中介行业在互联网上业务也会越来越完善。
1.2 系统开发的目的及意义
意义:随着信息化时代来临,网络技术的发展使我们的生活更加简便,人们的日常生活离不开房屋,不管是租房还是买房,传统的方式都在面临来自如今便捷社会的挑战,网上租售房屋将成为这个行业全新的方式,因此对本课题的研究符合行业的发展趋势,也具有研究的意义。
目的:本课题的目的是使用信息化方式,对房屋租售交易中的步骤利用互联网提高效率,节省人力资源。
第二章 可行性分析
2.1 社会可行性分析
在互联网大量普及的今天,在2019年由中国互联网络信息中心(CNNIC)发布的第43次《中国互联网络发展状况统计报告》中提出我国互联网普及率达到59.6%,网民规模在8.29亿左右。网民规模的不断增长对网上房屋租售的需求亦不断增加,尤其在北上广深等这些外人务工人员基数庞大的重点发达城市,对此需求更是大。而且本设计符合国家的互联网+方针。没有违反国家任何法律法规,有着较高的社会可行性。
2.2 技术可行性分析
本次开发的网站,是基于Java Web的网上房屋租售网站,主要使用JSP + SSM + MySQL进行开发。前端页面设计主要还采用了JavaScript和CSS。所用操作系统为windows 10。使用SSM框架进行开发使开发更加简洁,项目后期进行维护也更加的方便。而且SSM框架也是当前主流框架之一。使用所提及的技术进行开发,在技术上来说是可行的。
且所开发的项目属于B/S端,对开发者或者用户的硬件设施要求极低。几乎所用设施皆可成功运行此网站,况且在科技不断发达的今天。硬件设施的配置也在不断提高,基本不会存在运行不了的情况,所以本设计在设备上的要求低,是可行的。
2.3 操作可行性分析
本设计属于网站类型,只要在浏览器上即可运行,具有操作界面整洁方便灵活、可靠、安全等特点,系统简便易操作,适用于一般的用户。使用过程对计算机原有的设置不会产生影响。
2.4 经济可行性分析
从经济角度上看,本设计节省了人力资源,创造了更多劳动时间,时间即金钱,给使用者带来了直观的经济效益,而且在房屋资源信息容易查找的情况下,也变相促进了需求,对社会产生经济效应。网站的使用权出售给房屋所有者或者中介也可以收取一定的费用,也可在网站上加入广告,收取广告费。
2.5 系统的技术介绍
2.5.1 JavaScript
JavaScript又称JS,是一种脚本语言,在页面加载的时候会自动执行,是前端开发的主要技术之一。主要是用来进行页面的交互,例如在页面上验证用户输入的合法性等,相当于给前端页面注入“灵魂”,而且JavaScript能够很好集成HTML/CSS,被所有主流浏览器所支持,而且默认开启。
2.5.2 CSS
CSS(全称:Cascading Style Sheets)中文层叠样式表,也是前端开发的主要技术之一。主要作用是用来指定HTML的格局,例如控制页面图片的长宽高低、字体大小、字体类型和颜色等。采用CSS进行前端开发能让前端页面更加美观,而且其能批量的控制网页外观,使得开发变得简洁,还能精准到像素级别的控制网页外观。
2.5.3 MySQL
MySQL是一款简单、高效的开发源代码的关系型数据管理系统(RDBMS) ,由于它的高性能使它已经成为当前主流的开源数据库之一,对于中小型网站来说,MySQL是不二之选。本次设计的网站属于小型网站,因此选用MySQL进行开发。
2.5.4 JDBC
JDBC(全称:Java DataBase Connectivity)直译过来便是java数据库连接。由一组使用java语言编写的类与接口组成,可以为多种关系数据库提供统一访问。开发人员在Java程序上进行的数据库操作都需要由JDBC驱动程序处理而且JDBC支持大部分关系型数据库,增加了项目的重用性。
2.5.5 SSM
SSM(Spring + SpringMVC + MyBatis),是Spring框架和SpringMVC框架和MyBatis框架的整合。是当前较主流的网站开发框架之一,在目前的业界中比较常见。Spring充当一个控制反转(IOC)和面向切面(AOP)的容器,SpringMVC则作为系统的整体基础架构,负责MVC的分离。MyBatis负责数据库连接和储存的过程。
2.6 系统开发平台工具及运行环境
2.6.1 系统开发平台工具
本次设计是在eclipse开发工具上进行的,eclipse是Java开发者最喜欢的工具之一,它具有强大的编辑,调试功能。发布的服务器是Tomcat7.0,JDK版本为1.8,运行工具为火狐浏览器。
2.6.2 运行环境
操作系统:Windows 7以上版本。
JDK版本:1.6以上。
服务器:Apache Tomcat7.0以上版本。
浏览器:火狐浏览器、IE、谷歌浏览器等。
第三章 需求分析
3.1 系统功能概况
本设计为网上房屋租售网站,在功能设计上应当贴近现实生活,设身处地为用户提供便利,网站整体界面也应当简洁,易懂。下面简单介绍网站主要功能:
登录功能:在登录界面输入账号密码,选择登录者的身份点击登录进行登录。输入的数据须合法。
注册功能:注册用户,输入用户名和密码,选择身份进行注册,输入须合法。点击注册后密码通过加密之后账号密码新增到数据库。
租客功能:
房源信息功能:登录之后默认跳转到房源信息页面,显示当前所有的房源信息。
查询房源功能:用户可以根据房屋价格、面积、地铁线路查询所匹配的房源信息。
申请租房功能:用户在房屋的详细界面中可做申请该房屋操作。
我的租赁功能:租客在成功租赁房屋之后在此页面可看到租赁信息
查看合同功能:用户可以查看自己租赁的房屋所有的合同。
申请退租功能:用户可以在我的租赁页面中点击申请退租。
看房申请列表功能:用户可以查看自己发出的看房申请记录。
退租申请列表功能:用户可以查看自己发出的退租申请记录
租金缴纳功能:用户可在系统上缴纳租金,缴纳记录记载在已缴界面。
保障功能:用户可在添加保障界面上添加信息。添加之后的信息会保存在为处理保障中,待房屋所有者处理完保障之后,该保障会记录在已处理保障中。
房东功能:
查看房源列表:显示当前自己发布的房源信息。
添加房源功能:用户可以在此页面通过上传房屋的详细信息添加房源。
在租列表功能:用户查看当前自己所租出去的房源,并可以查看合同和中止合同。
已退租列表功能:用户可以看到之前退租了房源和租客的信息。
看房申请功能:用户查看租客发来的看房申请,同意则生成合同。
退租申请功能:用户查看租客发来的退租申请,同意则中止合同。
保障功能:用户查看租客发来的保障信息,处理之后记录在已处理保障中。
收租功能:用户可向当前在租的租客发去收取租金信息,租客为缴纳租金记录在租客代缴租金页面中,租客缴纳租金后记录在租客已缴租金页面中。
行程功能:用户可在添加行程界面添加行程。在查看行程页面上查看行程。
通过根据现实调研,设计网站的功能模块。系统的功能用功能图表示出来:
房东模块功能图如图3.1所示:
添加图片注释,不超过 140 字(可选)
图3.1房东模块功能图
租客模块功能图如图3.2所示:
添加图片注释,不超过 140 字(可选)
图3.2 租客模块功能图
3.2 系统架构分析
本设计分为两大模块,分别由租客模块和房东模块组成。租客模块的相当于用户端,房东模块相当于管理员端,管理员端处理用户端所发送的请求。本系统架构如图3.3所示:
添加图片注释,不超过 140 字(可选)
图 3.3 系统架构图
3.3 系统用例分析
网址的用户分为两类。房东和租客。
房东的主要动能有:添加房源,查看房源,查看在租列表,查看已退租列表,处理看房申请和退租申请,处理保障,查看已处理保障,收租,查看已缴和未缴租金,添加日程和查看日程。步骤为上传房源,待租客申请看房后,由私下看完房之后选择是否租赁,同意租赁则在看房申请中同意并生存合同,租赁成功后在在租列表中和我要收租两个页面中能看到相应的信息。
租客的主要功能有:查看房源信息和根据自身需要查询房源,查看我的租赁和已退租列表,查看已申请或已退租记录,添加保障,查看未处理保障和已处理保障。租客在房源详细界面中申请看房,待房东同意后生成合同,并在我的租赁中可以看到。
系统的总体用例图如图3.5,图3.6所示:
添加图片注释,不超过 140 字(可选)
图3.5房东用户用例图
添加图片注释,不超过 140 字(可选)
图3.6租客用户用例图
第四章 数据库的设计
MySQL是一款简单、高效的开发源代码的关系型数据管理系统(RDBMS) ,由于它的高性能使它已经成为当前主流的开源数据库之一,对于中小型网站来说,MySQL是不二之选。本次设计的网站属于小型网站,因此选用MySQL进行开发。
4.1概念模型设计
数据库的概念模型设计尤为重要,是在搭建数据库之前必须做好的步骤,设计好概念模型,可以很清楚的标识出表与表之间的关联,表的主外键,表的层次等,如果没有做好概念模型设计,后续工作容易出现混乱,严重影响工作效率。
实体关系建模是数据库建模方法之一,实体关系图也称(E-R图)用来描述事物与事务之间的关系,故绘制网上房屋租售系统的全局E-R模型,如图4.1所示:
添加图片注释,不超过 140 字(可选)
图4.1 全局E-R模型
本设计的主要实体有:房东、租客、申请看房、申请退租、已退租、合同、房屋信息、未缴纳租金、已缴纳租金、未处理报障、已处理报障、租赁记录、日程。各个实体里部分的描述属性图如下:
房东实体如图4.2所示
添加图片注释,不超过 140 字(可选)
图4.2房东实体图
租客用户实体如图4.3所示:
添加图片注释,不超过 140 字(可选)
图4.3租客用户实体图
申请看房实体如图4.4所示:
添加图片注释,不超过 140 字(可选)
图4.4申请看房实体图
申请退租实体如图4.5所示:
添加图片注释,不超过 140 字(可选)
图4.5申请退租实体图
已退租实体如图4.6所示:
添加图片注释,不超过 140 字(可选)
图4.6已退租实体图
合同实体如图4.7所示:
添加图片注释,不超过 140 字(可选)
图4.7合同实体图
房屋信息实体如图4.8所示:
添加图片注释,不超过 140 字(可选)
图4.8房屋信息实体图
未缴纳租金实体如图4.9所示:
添加图片注释,不超过 140 字(可选)
图4.9未缴纳租金实体图
已缴纳租金实体如图4.10所示:
添加图片注释,不超过 140 字(可选)
图4.10已缴纳租金实体图
未处理报障实体如图4.11所示:
添加图片注释,不超过 140 字(可选)
图4.11未处理报障实体图
已处理报障实体如图4.12所示:
添加图片注释,不超过 140 字(可选)
图4.12已处理报障实体图
租赁记录实体如图4.13所示:
添加图片注释,不超过 140 字(可选)
图4.13租赁记录实体图
日程实体如图4.14所示:
添加图片注释,不超过 140 字(可选)
图4.14日程实体图
4.2 数据库表设计
数据库表的设计在项目中起到决定成败的作用,数据库表设计如果不符合需求,性能不够好的话。在进入编码阶段时后,将为整个项目开发带来巨大的阻力。表的设计应合理设计表与表之间的关联,关联过多亦不好,容易引起数据混乱,尽量减低表之间的耦合。也应当考虑未来有可能的优化等。
本系统数据库表如下:
表4.1 user 用户表
字段名称 | 数据类型 | 主键 | 是否为空 | 说明 |
---|---|---|---|---|
id | Int | Y | N | 主键 |
username | varchar | N | N | 用户姓名 |
password | varchar | N | N | 用户密码 |
type | varchar | N | N | 用户类型 |
表4.2 apply申请看房表
字段名称 | 数据类型 | 主键 | 是否为空 | 说明 |
---|---|---|---|---|
apply_id | int | Y | N | 申请id |
house_id | varchar | Y | N | 房屋id |
address | varchar | N | N | 地址 |
area | double | N | N | 面积 |
price | double | N | N | 价格 |
status | varchar | N | N | 状态 |
userlist_id | int | N | N | 用户id |
表4.3 applyout 申请退租表
字段名称 | 数据类型 | 主键 | 是否为空 | 说明 |
---|---|---|---|---|
aoid | int | Y | N | id |
house_id | varchar | N | N | 房屋id |
address | varchar | N | N | 地址 |
status | varchar | N | N | 状态 |
userlist_id | int | N | N | 用户id |
表4.4 checkout已退租表
字段名称 | 数据类型 | 主键 | 是否为空 | 说明 |
---|---|---|---|---|
cid | int | Y | N | Id |
house_id | varchar | N | N | 房屋id |
address | varchar | N | N | 地址 |
status | varchar | N | N | 状态 |
userlist_id | int | N | N | 用户id |
表4.5 hetong合同表
字段名称 | 数据类型 | 主键 | 是否为空 | 说明 |
---|---|---|---|---|
id | int | Y | N | Id |
chuzu | varchar | N | N | 出租方 |
chuzu_idcard | varchar | N | N | 出租房身份证 |
zuke | varchar | N | N | 租客 |
zuke_idcard | varchar | N | N | 租客身份证 |
fromdate | varchar | N | N | 起租时间 |
todate | varchar | N | N | 退租时间 |
price | double | N | N | 租金 |
address | varchar | N | N | 地址 |
house_id | varchar | N | N | 房屋id |
payday | int | N | N | 每月交租日 |
表4.6 houselist房源信息表
字段名称 | 数据类型 | 主键 | 是否为空 | 说明 |
---|---|---|---|---|
id | int | Y | N | Id |
houseid | int | Y | N | 房屋id |
address | varchar | N | N | 地址 |
area | double | N | N | 面积 |
price | double | N | N | 租金 |
status | varchar | N | N | 状态 |
img | varchar | N | N | 图片路径 |
introduce | varchar | N | N | 简介 |
landlady | varchar | N | N | 房东 |
表4.7 paid已缴租金表
字段名称 | 数据类型 | 主键 | 是否为空 | 说明 |
---|---|---|---|---|
id | int | Y | N | Id |
house_id | varchar | N | N | 房屋id |
address | varchar | N | N | 地址 |
price | double | N | N | 租金 |
date | date | N | N | 应缴日期 |
paydate | date | N | N | 缴纳日期 |
name | varchar | N | N | 租客姓名 |
userlist_id | int | N | N | 用户id |
status | varchar | N | N | 状态 |
表4.8 schedule日程表
字段名称 | 数据类型 | 主键 | 是否为空 | 说明 |
---|---|---|---|---|
id | int | Y | N | Id |
date | varchar | N | N | 日期 |
content | text | N | N | 内容 |
landlady | varchar | N | N | 房东 |
表4.9 solve已处理报障表
字段名称 | 数据类型 | 主键 | 是否为空 | 说明 |
---|---|---|---|---|
id | int | Y | N | Id |
house_id | varchar | N | N | 房屋id |
address | varchar | N | N | 地址 |
date | date | N | N | 日期 |
detail | text, | N | N | 报障内容 |
name | varchar | N | N | 租客姓名 |
userlist_id | int | N | N | 用户id |
status | varchar | N | N | 状态 |
表4.10 topaid未缴租金表
字段名称 | 数据类型 | 主键 | 是否为空 | 说明 |
---|---|---|---|---|
id | int | Y | N | Id |
house_id | varchar | N | N | 房屋id |
address | varchar | N | N | 地址 |
price | double | N | N | 租金 |
date | date | N | N | 应缴日期 |
name | varchar | N | N | 租客姓名 |
userlist_id | int | N | N | 用户id |
status | varchar | N | N | 状态 |
表4.11 userlist用户信息表
字段名称 | 数据类型 | 主键 | 是否为空 | 说明 |
---|---|---|---|---|
id | int | Y | N | Id |
name | varchar | N | N | 姓名 |
idcard | varchar | Y | N | 身份证 |
phone | varchar | N | N | 电话号码 |
user_id | int | N | N | 账号id |
表4.12 wrong未处理报障表
字段名称 | 数据类型 | 主键 | 是否为空 | 说明 |
---|---|---|---|---|
id | int | Y | N | Id |
house_id | varchar | N | N | 房屋id |
address | varchar | N | N | 地址 |
date | date | N | N | 日期 |
detail | text, | N | N | 报障内容 |
name | varchar | N | N | 租客姓名 |
userlist_id | int | N | N | 用户id |
status | varchar | N | N | 状态 |
表4.13 zulist租赁信息表
字段名称 | 数据类型 | 主键 | 是否为空 | 说明 |
---|---|---|---|---|
zid | int | Y | N | Id |
house_id | varchar | Y | N | 房屋id |
price | double | N | N | 租金 |
address | varchar | N | N | 地址 |
userlist_id | int | N | N | 账号id |
contract_id | int | N | N | 合同id |
第五章 功能设计与实现
网上房屋租售网站的设计与实现,主要内容是房屋的租赁步骤,主要目的是提高房屋租售的效率。
5.1 用户状态图与活动图设计
用户状态图包括了注册状态图、登录状态图。
注册状态图主要体现出用户注册时的状态转换。用户进入注册页面之后,输入账号和密码,前端通过JavaScript验证输入是否合法,选择好注册的身份之后点击注册,表单信息提交到后台,后台通过验证之后跳转到登录界面。
注册状态图如图5.1所示:
添加图片注释,不超过 140 字(可选)
图5.1 注册状态图
登录状态图主要体现出用户登录的状态转换,用户进入登录页面之后,输入账号和密码之后,前端通过JavaScript验证输入是否合法,选择好用户身份之后点击登录,表单提交信息到后台,后台验证用户的账号和密码,若成功跳转到主页,若不成功提示错误。
登录状态图如图5.2所示:
添加图片注释,不超过 140 字(可选)
图5.2登录状态图
用户活动图是表现出用户使用整个系统的过程,用户打开网站之后进入登录界面,没有账号点击“还没有账号”进入注册界面,注册完成返回登录界面。系统通过用户的类型判断应该跳转到的界面,如果为租客则跳转到租客界面,租客申请看房之后通过房东处理完成租赁,才可以使用报障功能、租金功能和申请退租。如果为房东跳转到房东界面,房东在添加了房源之后,有租客申请看房,同意了租赁之后,才可使用收租和报障功能,任何情况都可使用日程功能。
用户活动图如图5.3所示:
添加图片注释,不超过 140 字(可选)
图5.3用户活动图
5.2 网站首页设计
网址无论是房东还是租客的首页设计基本一样。由导航栏、菜单、主页组成,只有房东和租客的菜单有所不同。
首页如图5.4所示
添加图片注释,不超过 140 字(可选)
图5.4网站首页图
-
导航栏部分的实现 导航栏部分由三个部分的内容,分别为:首页按钮;欢迎用户语句;退出按钮;
-
菜单部分的实现 菜单由用户的各个模块组成,房东用户拥有房源信息模块、租赁及合同信息模块、申请列表模块、报障模块、租金信息模块、我的日程模块。 租客用户则拥有房源信息模块、租赁信息模块、我的申请模块、租金信息模块、报障模块。
-
主页部分的实现 主页部分主要根据用户的操作变换,在用户点击某个模块中的某项功能时,主页跳转到相应的页面。 5.3用户模块 网站的用户分为房东和租客两类,存储在同一张表里,只是用户的类型不同,登录和注册的页面都是一样的。 5.3.1 类的说明 房东用户和租客用户都存储在user表中,只是用户的类型不同,都属于user类。User类的类图如下图5.5所示:
添加图片注释,不超过 140 字(可选)
图5.5用户模块类图 5.3.2 用户注册 房屋租售网站打开时先进入登录界面,新用户初步进入网站没有账号,需要在登录界面点击“没有账号?”进入注册界面,输入账号密码,选择注册用户类型,点击注册进行注册。用户注册图如图5.6所示:
添加图片注释,不超过 140 字(可选)
图5.6用户注册图 用户在输入与提交注册信息时需要验证用户名和密码是否合法,内容如下:
-
用户名校验: 用户名不能为空; 用户名不能和已有用户名重复; 用户名长度必须在2-8个字符之间;
-
注册密码校验: 登录密码不能为空; 密码长度必须在2-32个字符之间; 5.3.3 用户登录 用户在成功注册之后会跳转到登录界面,输入用户名和密码之后,在通过前端格式验证之后,选择用户类型点击登录完成登录。用户登录图如图5.7所示:
添加图片注释,不超过 140 字(可选)
图5.7用户登录图 用户在输入与提交登录信息时需要验证用户名和密码是否合法,内容如下:
-
用户名校验: 用户名不能为空; 用户名长度必须在2-8个字符之间;
-
注册密码校验: 登录密码不能为空; 密码长度必须在2-32个字符之间; 在用户将用户名和密码输入均合法之后,提交表单经过后台验证。若用户名和密码不匹配时,提示用户名或密码错误。若是登录成功后,系统根据用户账号类型跳转到相应界面,房东跳转到房东界面,租客则跳转到租客界面,两者所实现的功能不同。 5.4 房源模块 5.4.1 类的说明 用户登录之后系统根据用户的类型跳转到相应的界面,房东类用户可以实现查看自己房源和添加房源,租客类用户可以浏览所有房源信息。房源信息类图如下图图5.8所示:
添加图片注释,不超过 140 字(可选)
图5.8房源类图 5.4.2 添加房源 用户登录之后若是房东用户则可以添加房源。用户在填写了所有信息并上传图片之后才可添加房源。添加房源界面如下图5.9所示:
添加图片注释,不超过 140 字(可选)
图5.9添加房源图 5.4.3查看房源 用户登录之后系统根据用户的类型跳转到相应的界面,房东用户查看房源只能看到自己上传的房源信息,租客用户可以看到所有房源信息。 房东用户查看房源界面如图5.10所示:
添加图片注释,不超过 140 字(可选)
图5.10 房东用户查看房源图 租客用户查看房源界面如图5.11所示:
添加图片注释,不超过 140 字(可选)
图5.11租客用户查看房源图 5.4.4房源详细 租客用户点击在房源信息界面点击房源图片或者图片下面房源信息可进入房源的详细界面,点击申请看房按钮便可发出看房申请。 房源详细界面如图5.12所示:
添加图片注释,不超过 140 字(可选)
图5.12房源详细图 5.4.5 搜索房源 租客用户在浏览房源时可以根据自身需求查找房源,可以根据房屋价格、房屋面积、地铁路线查找房源,也可多选查找条件。 搜索房源如图5.13所示:
添加图片注释,不超过 140 字(可选)
图5.13搜索房源图 5.4.6修改房源 房东用户可以修改自己的房源信息。 修改房源信息图如下图5.14所示:
添加图片注释,不超过 140 字(可选)
图5.14修改房源信息图 修改成功之后会提示修改成功。 5.5申请与租赁模块 租赁是整个网站设计的主要内容,租客用户在浏览到心仪的房屋是,可以点击房屋详细界面的申请按钮,申请记录会在租客端和房东端同时更新,并且可以查看,待房东同意申请之后,便算是租赁成功,届时将生成合同。 5.5.1类的设计 申请与租赁模块类的设计主要由房屋信息和租客信息组成. 该类的设计如图5.15所示:
添加图片注释,不超过 140 字(可选)
图5.15申请与租赁类图 5.5.2 申请看房 租客用户在浏览到心仪的房源信息之后,进入房源的详细信息界面,若房屋已被申请则申请不了,所房屋未被申请则点击申请按钮即可申请看房。 申请看房效果如下图5.16所示:
添加图片注释,不超过 140 字(可选)
图5.16申请看房图 申请成功之后提示申请成功 申请成功效果如下图5.17所示:
添加图片注释,不超过 140 字(可选)
图5.17申请成功图 房东可以查看租客发来的申请,租客可以查看自己发出的申请 房东查看申请如下图5.18所示:
添加图片注释,不超过 140 字(可选)
图5.18房东查看申请图 租客查看申请如下图5.19所示:
添加图片注释,不超过 140 字(可选)
图5.19租客查看申请图 5.5.3 同意或拒绝租赁 房东在查看申请列表后,看房需要通过电话进行私下沟通,沟通之后如果同意租赁就点击“同意租赁”按钮,如果不同意租赁就点击“拒绝租赁”。在房东点击“同意租赁”的情况后,进入填写信息界面,在填写完相关租赁信息之后,系统生成合同。 同意租赁效果图如下图5.20所示:
添加图片注释,不超过 140 字(可选)
图5.20同意租赁图 填写完成相关信息之后提交,系统会弹出租赁成功。 在房东点击“拒绝租赁”的情况后,系统将删除本条申请信息并提示: 拒绝租赁效果图如下图5.21所示:
添加图片注释,不超过 140 字(可选)
图5.21拒绝租赁图 教师进行批改操作后,批改的内容也会返回查看答题情况列表中,学生也会 5.5.4 查看租赁 房东和租客都可以查看自己的租赁情况,在自己的已租列表中双方都可以查看合同信息。 房东已租图如下图5.22所示:
添加图片注释,不超过 140 字(可选)
图5.22房东已租图 租客已租图如下图5.23所示:
添加图片注释,不超过 140 字(可选)
图5.23租客已租图 合同信息图如下图5.24所示:
添加图片注释,不超过 140 字(可选)
图5.24合同信息图 5.6申请与退租模块 申请与退租模块是继上一个模块之后的另一个重要模块,租客用户在已租列表中可以看到有“申请退租”按钮,在租客点击按钮之后退租申请会发送给房东,并且租客也可以查看自己的退租申请。 5.6.1 类的设计 总的来说,申请与退租模块的类设计与申请与租赁的类设计类似。类图如下图5.25所示:
添加图片注释,不超过 140 字(可选)
图5.25申请与退租类图 5.6.2申请退租 在租客点击在租列表中的“申请退租”按钮之后,系统弹出提示语,效果图如下图5.26所示:
添加图片注释,不超过 140 字(可选)
图5.26申请退租效果图 退租申请记录将会保存到数据库,并在租客可以查看,退租的另一个方式是由房东在已租列表中选择终止合同,租客查看退租申请图如下图5.27所示:
添加图片注释,不超过 140 字(可选)
图5.27 租客查看退租申请图 5.6.3同意或拒绝退租 房东在退租申请列表中可以查看到租客发来的退租申请,若是同意申请如下图5.28所示:
添加图片注释,不超过 140 字(可选)
5.28同意退租图 拒绝申请如下图5.29所示:
添加图片注释,不超过 140 字(可选)
5.29拒绝退租图 5.6.4查看已退租 房东和租客都可以查看自己的退租记录,房东查看已退租如下图2.30所示:
添加图片注释,不超过 140 字(可选)
图5.30房东查看退租图 租客查看已退租如下图5.31所示:
添加图片注释,不超过 140 字(可选)
图5.31租客查看退租图 5.7租金模块 房东可以在网站上发起收租,租客可直接支付,双方皆可查看当前已缴纳租金和未缴纳租金信息。 5.7.1 类的设计 租金类的设计主要根据在租表中的信息进行设计。类图如下图5.32所示:
添加图片注释,不超过 140 字(可选)
图5.32租金类图 5.7.2我要收租 房东可在我要收租界面查看到当前在租租客,在想要进行收租操作的信息尾端点击“收租”按钮,并填写收取金额及相关信息,提交之后系统便会发送收租信息给对应租客效果图如下图5.33所示:
添加图片注释,不超过 140 字(可选)
图5.33收租效果图 提示提交功能如下图5.34所示:
添加图片注释,不超过 140 字(可选)
图5.34提示成功图 5.7.3待缴租金 房东在发送收取租金信息后可自己查看当前租客未缴租金,对应租客也可查看当前自己未缴租金,房东查看未缴租金效果图如下图5.35所示:
添加图片注释,不超过 140 字(可选)
图5.35房东查看未缴租金图 租客查看未缴租金效果图如下图5.36所示:
添加图片注释,不超过 140 字(可选)
图5.36租客查看未缴租金图 5.7.4已缴租金 租客可以在未缴租金界面中看到支付租金的按钮,支付租金过后对应记录便会存入已缴租金列表中房东查看已缴租金图如下图5.37所示:
添加图片注释,不超过 140 字(可选)
图5.37房东查看已缴租金图 租客查看已缴租金图如下图5.38所示:
添加图片注释,不超过 140 字(可选)
图5.38租客查看已缴租金图 房东可以根据租客姓名查询缴纳记录,房东和租客均可以根据日期查询缴纳记录如下图5.39所示:
添加图片注释,不超过 140 字(可选)
图5.39查询缴纳记录图 5.8报障模块 租客可以添加报障,报障的内容将发送到该房屋对应的房东端上。租客和房东都可以查看记录,房东在处理完报障之后,记录转移到已处理报障。 5.8.1 类的设计 报障模块类的设计主要由报障用户的信息,报障内容日期组成。类图如下图5.40所示:
添加图片注释,不超过 140 字(可选)
图5.40租金类图 5.8.2我要报障 租客所租房屋所出现问题,可在我要报障界面填写房屋信息及报障内容并提交信息进行报障,房屋所有者将会处理报障如下图5.41所示:
添加图片注释,不超过 140 字(可选)
图5.41我要报障图 5.8.3未处理报障 租客在添加了障之后,会自动跳转到未处理报障界面。效果图如下图5.42所示:
添加图片注释,不超过 140 字(可选)
图5.42租客查看未处理报障图 房东端查看未处理报障图如下图5.43所示:
添加图片注释,不超过 140 字(可选)
图5.43房东查看未处理报障图 5.8.3已处理报障 房东在接受到租客的保障信息之后进行处理,待处理好了之后在系统上点击“已处理”,保障信息转移到已处理保障中,房东已处理保障图如下图5.44所示:
添加图片注释,不超过 140 字(可选)
图5.44房东查看已处理保障图 租客查看已处理保障图如下图5.45所示:
添加图片注释,不超过 140 字(可选)
图5.45租客查看已处理保障图 5.9日程模块 房东用户可在系统进行添加日程信息,相当于备忘录功能 5.9.1 类的设计 日程类的设计主要由日程内容和用户信息组成。类图如下图5.46所示:
添加图片注释,不超过 140 字(可选)
图5.46日程类图 5.9.2添加日程 房东用户在添加日程界面中可添加日程。效果如下图5.47所示:
添加图片注释,不超过 140 字(可选)
图5.47添加日程图 5.9.3查看日程 房东用户在添加日程后可查看日程。效果如下图5.48所示:
添加图片注释,不超过 140 字(可选)
图5.48查看日程图 第六章 系统测试 6.1 系统测试的目的 软件测试的目的是发现软件中所存在的逻辑错误、代码错误、需求设计的错误等,提高软件的质量,使得软件无限接近用户的实际需求。在本章中,将针对以下目标进行测试:
-
是否满足用户的实际需求。
-
各项功能是否出现错误。
-
尽可能多的发现错误。
-
检查系统的实用性。
-
网站是否满足性能和效率的要求 对于任何项目来说,软件测试方面的工作是非常重要的,而软件测试也不仅仅是要找出错误,也要预防错误。 6.2 测试的准则 软件测试的准则如下:
-
充分考虑用户需求。
-
做好软件测试的计划。
-
测试应尽早开始。
-
软件测试本应尽量避免测试自己的程序,但由于本设计未毕业设计,故测试还应是自己完成。
-
检查每一个实际输出结果。
-
测试用例用语应简洁,但不能过于简单。
6.3 测试方法
软件测试的方法主要为3种,分别是黑盒测试、白盒测试和灰盒测试。黑盒测试是把软件比成黑色盒子,看不到内部结构通过运行程序进行测试,白盒测试是通过查看软件代码来进行测试。灰盒测试介于黑盒测试和白盒测试之间。本章选择黑盒测试来作为测试方法。
6.4 测试用例
测试用例的编写能直观的表现出测试过程,由于本网站功能偏多,不宜在论文中写出所有测试用例,仅编写出用户登录和用户注册的测试用例。分别为表6.1与表6.2,
表6.1 用户登录功能测试用例
用例编号 | 测试项 | 操作步骤 | 数据 | 预期结果 | 实际结果 |
---|---|---|---|---|---|
1 | 用户名 | 点击用户名输入框 | 不输入数据 | 登录失败,提示用户名不可为空 | 与预期结果相同 |
2 | 用户名 | 点击用户名输入框 | 输入a | 登录失败,提示用户名输入不合法 | 与预期结果相同 |
3 | 用户名 | 点击用户名输入框 | 输入4619812318916516 | 登录失败,提示输入不合法 | 与预期结果相同 |
4 | 用户名 | 点击用户名输入框 | 输入111 | 用户名输入合法 | 与预期结果相同 |
5 | 用户名 | 点击用户名输入框 | 输入广佛 | 用户名输入合法 | 与预期结果相同 |
6 | 用户名 | 点击用户名输入框 | 输入广东东软学院 | 用户名输入合法 | 与预期结果相同 |
7 | 密码 | 点击密码输入框 | 不输入数据 | 登录失败,提示密码不可为空 | 与预期结果相同 |
8 | 密码 | 点击密码输入框 | 输入987464634632562626 | 登录失败,提示密码输入不合法 | 与预期结果相同 |
9 | 密码 | 点击密码输入框 | 输入6 | 登录失败,提示密码输入不合法 | 与预期结果相同 |
10 | 密码 | 点击密码输入框 | 输入123 | 密码输入合法 | 与预期结果相同 |
表6.2 用户注册功能测试用例
用例编号 | 测试项 | 操作步骤 | 数据 | 预期结果 | 实际结果 |
---|---|---|---|---|---|
1 | 用户名 | 点击用户名输入框 | 不输入数据 | 注册失败,提示用户名不可为空 | 与预期结果相同 |
2 | 用户名 | 点击用户名输入框 | 输入a | 注册失败,提示用户名输入不合法 | 与预期结果相同 |
3 | 用户名 | 点击用户名输入框 | 输入12345678998745621 | 注册失败,提示用户名输入不合法 | 与预期结果相同 |
4 | 用户名 | 点击用户名输入框 | 输入111 | 用户名输入合法 | 与预期结果相同 |
5 | 用户名 | 点击用户名输入框 | 输入王国 | 用户名输入合法 | 与预期结果相同 |
6 | 密码 | 点击密码输入框 | 不输入数据 | 注册失败,提示密码不可为空 | 与预期结果相同 |
7 | 密码 | 点击密码输入框 | 输入123456 | 密码输入合法 | 与预期结果相同 |
8 | 密码 | 点击密码输入框 | 输入1 | 注册失败,提示密码输入不合法 | 与预期结果相同 |
9 | 密码 | 点击密码输入框 | 输入196 | 密码输入合法 | 与预期结果相同 |
6.5 测试结论
在以上列举的测试用例中,没有发现错误,通过率是100%,但在其他没有列举的测试中,有发现明显错误,并已经做出修改。通过测试,发现并修改了错误,修改了已知错误之后继续测试暂时还没发现其他错误,但是潜在的问题肯定还是有的,只是现在还未发现,应该不断的进行测试,不断的维护,以确保程序的质量。本次测试也是一个学习过程,通过本次测试也完善了测试方面相关的知识,对一个项目的整体流程更加清晰。
第七章 结论
至此,基于java web的网上房屋租售网站基本完成,在完成的整个过程中,遇到过很多困难,特别是一些知识盲区,困难虽然多,但是一一克服过后的成就感也是前所未有的,或许这也是软件工程专业吸引人在地方所在。
万事开头难,在对项目开始前的准备工作是最为艰难的,特别是功能需求的设计,网上虽然有类似的网站可供参考,但是要在类似网站上提取出符合的功能需求,和对网站的创新上,仍然是个艰难的过程,虽然艰难,还算是成功完成了,但是,肯定还是有未考虑到的地方,就像是软件测试一样的,不可能十全十美。
在代码实现阶段,最让人记忆深刻的还是实现房东端的时候,一开始的SQL语句编写上有问题,使得房东端的功能实现出现混乱,一个房东端账号能查看到不属于他的租赁信息或者报障信息。当时只是一味的花功夫在代码逻辑上,耽误了好长时间没有找出问题所在。通过网上信息查找才找出问题所在,这也反映了我对SQL语句的不熟悉这个问题。测试阶段还比较轻松。
每一次实践都是在不断的学习,通过这次毕业设计,整合了所学的知识。使得每一个知识点串联起来。
参 考 文 献
[1]明日科技.Java从入门到精通[M],第五版,清华大学出版社.2019.:38-216
[2]罗如为. Java Web开发技术与项目实战[M],水利水电出版社.2019.:25-48
[3]文静,杜柯柯,达文姣.基于SSM的网上商城的开发与设计[J],Computer Knowledge and Technology,2018,14(7):86-87.
[4]CNNIC . 第44次《中国互联网络发展状况统计报告》[Z], 2019
[5]贾晓芳,沈泽刚. Java Web应用开发中的常见乱码形式及解决方法[J], 软件导刊,2017,(04):214-216.
[6]籍慧文. Web应用开发中JAVA编程语言的应用探讨[J], 科技创新与应用,2017,07:90.
[7]徐茂. 浅析面向SQL数据库注入攻击的Java Web防御措施[J],网络安全技术与应用,2016,(10):85-86.
[8]刘昕林,罗伟峰. 基于Java平台的Web应用系统业务性能监测分析[J], 信息与电脑(理论版),2019(02):67-68.
[9] 李运莉. web数据库应用系统性能优化[M],北京:人民邮电出版社,2011
[10] 缪忠剑. 基于Spring的集成化Web开发平台的研究与实现[M],北京:机械工业出版社,2013.
相关文章:
基于Java Web的网上房屋租售网站
内容摘要 本毕业设计题目为《基于Java Web的网上房屋租售网站》,是在信息化时代下充分利用互联网对传统房屋租售方式进行创新,在互联网上进行房屋租售突破了传统方式的局限性。对于房屋租售的当事人都提供了极大的便利。本稳针对了实际用户需求…...
【MySQL — 数据库增删改查操作】深入解析MySQL的create insert 操作
数据库CRUD操作 1 CRUD简介 CURD是对数据库中的记录进行基本的增删改查操作: 2. Create 新增 语法 INSERT [INTO] table_name[(column [,column] ...)] VALUES(value_list)[,(value_list)] ... # value 后面的列的个数和类型,要和表结构匹配…...
问题修复记录:Linux docker 部署 dify,无法调用宿主机本地服务
使用docker compose启动Dify后,在其中配置本地xinfrence中的模型,报错: get xinference model extra parameter failed, url: http://127.0.0.1:9997/v1/models/bge-m3, error: HTTPConnectionPool(host=‘127.0.0.1’, port=9997): Max retries exceeded with url: /v1/mo…...
【橘子ES】Kibana的分析能力Analytics简易分析
一、kibana是啥,能干嘛 我们经常会用es来实现一些关于检索,关于分析的业务。但是es本身并没有UI,我们只能通过调用api来完成一些能力。而kibana就是他的一个外置UI,你完全可以这么理解。 当我们进入kibana的主页的时候你可以看到这样的布局。…...
如何理解json和json字符串
如何理解网络传输的json到底是什么数据 网络传输的其实是对应的 json字符串 对象,前端接收后会将 json字符串 解析成 json对象 json类型字符串和json对象或者json数组是不一样的,json类型字符串本质是字符串,而json对象是json类型的数据&…...
项目上线后,是否会进行复盘?
是的,定期复盘在软件测试项目里极为关键,我会按以下步骤开展复盘工作: 复盘周期确定 短期项目:针对周期较短(如 1 - 2 个月)的项目,会在项目结束后的一周内进行复盘,确保大家对项目…...
基于 WEB 开发的手机销售管理系统设计与实现内容
标题:基于 WEB 开发的手机销售管理系统设计与实现 内容:1.摘要 摘要:随着智能手机的普及和电子商务的快速发展,手机销售行业面临着越来越多的挑战和机遇。为了提高销售效率和管理水平,本文设计并实现了一个基于 WEB 的手机销售管理系统。该系…...
SpringBoot篇 单元测试 理论篇
1.单元测试概念介绍 简单来说,单元测试是对软件中的最小可测试单元进行检查和验证。在 Java 中,单元测试的最小单元是类。Spring Boot 提供了 spring-boot-starter-test 依赖,包含了 JUnit、Mockito、Hamcrest 等常用的测试框架1。࿰…...
并发编程 - 线程同步(一)
经过前面对线程的尝试使用,我们对线程的了解又进一步加深了。今天我们继续来深入学习线程的新知识 —— 线程同步。 01、什么是线程同步 线程同步是指在多线程环境下,确保多个线程在同时使用共享资源时不会发生冲突或数据不一致问题的技术,保…...
Nginx 性能优化技巧与实践(二)
五、性能优化之负载均衡篇 5.1 负载均衡算法介绍 Nginx 作为一款强大的 Web 服务器和反向代理服务器,其负载均衡功能是提升 Web 服务性能和可靠性的关键。Nginx 支持多种负载均衡算法,每种算法都有其独特的原理和特点,适用于不同的业务场景…...
解密AIGC三大核心算法:GAN、Transformer、Diffusion Models原理与应用
在当今数字化时代,人工智能生成内容(AIGC)技术正以前所未有的速度改变着我们的生活和工作方式。从创意无限的文本生成,到栩栩如生的图像创作,再到动听的音乐旋律,AIGC的魔力无处不在。而这一切的背后&#…...
qml Dialog详解
1、概述 Dialog是QML(Qt Modeling Language)中用于显示对话框的组件,它提供了一个模态窗口,通常用于与用户进行重要交互,如确认操作、输入信息或显示警告等。Dialog组件具有灵活的布局和样式选项,可以轻松…...
GL C++显示相机YUV视频数据使用帧缓冲FBO后期处理,实现滤镜功能。
一.前言: GitHub地址:GitHub - wangyongyao1989/WyFFmpeg: 音视频相关基础实现 系列文章: 1. OpenGL Texture C 预览Camera视频; 2. OpenGL Texture C Camera Filter滤镜; 3. OpenGL 自定义SurfaceView Texture C预览Camera视…...
一文了解树与森林基础
文章目录 树和森林1树的存储结构1.1双亲表示法1.2孩子表示法1.3孩子兄弟表示法 2树、森林与二叉树的转换2.1森林与二叉树的转换2.2 树与二叉树的转换 3树和森林的遍历3.1树的遍历3.2森林的遍历3.3 树和森林的遍历与二叉树的遍历关系 4树的应用——并查集4.1并查集及其相关操作4…...
在Docker 容器中安装 Oracle 19c
在 Docker 容器中安装 Oracle 19c 是可行的,但它相较于其他数据库(如 MySQL、PostgreSQL 等)会复杂一些,因为 Oracle 数据库有一些特定的要求,如操作系统和库的依赖,以及许可证问题。 不过,Ora…...
Java TCP协议(2)
TCP可靠传输 五. 流量控制 用来控制发送方的窗口大小,通过接收方返回来的ACK进行反制。 接收方把自己能够处理的数据量主动告诉发送方,从而让发送方动态调整窗口大小。 如果窗口大小为0表示没有空间去接收数据了,主机A就不发数据了…...
JS基础-操作数组(7)
一.增删改查 1.改 重新赋值 2.增 arr.puch() 末尾追加 arr.unshift() 开头追加 a)案例:数组筛选 3.删除 arr.pop() 删除最后一个元素 arr.shift() 删除第一个元素 splice() 删除指定元素...
(长期更新)《零基础入门 ArcGIS(ArcScene) 》实验七----城市三维建模与分析(超超超详细!!!)
城市三维建模与分析 三维城市模型已经成为一种非常普遍的地理空间数据资源,成为城市的必需品,对城市能化管理至关重要。语义信息丰富的三维城市模型可以有效实现不同领域数据与IS相信息的高层次集成及互操作,从而在城市规划、环境模拟、应急响应和辅助决策等众多领域公挥作用、…...
大数据技术笔记
大数据技术概述 本章初步介绍大数据领域技术涉及的一些基础理论,如分布式、存储、网络等知识。 分布式理论 大数据意味数据量大,那么存储和计算数据的节点就不大可能只有一个,而是采用分而治之的思想在多个节点中存储和计算,提…...
【JAVA 基础 第(20)课】JDBC JAVA 连接 MySql 数据库
pom.xml 导入 MySql jar 包 <!-- 导入Mysql数据库链接jar包 --> <dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.30</version> </dependency> 数据库驱动、连接封装成…...
如何将使用unsloth微调的模型部署到ollama?
目录 一、将模型保存为gguf格式 二、下载llama.cpp 三、生成 llama-quantize 可执行文件 四、使用llama-quantize 五、训练模型 六、将模型部署到ollama 一、将模型保存为gguf格式 在你的训练代码 trainer.train() 之后添加: model.save_pretrained_gguf(&q…...
Go语言中的值类型和引用类型特点
一、值类型 值类型的数据直接包含值,当它们被赋值给一个新的变量或者作为参数传递给函数时,实际上是创建了原值的一个副本。这意味着对新变量的修改不会影响原始变量的值。 Go中的值类型包括: 基础类型:int,float64…...
grafana新增email告警
选择一个面板 比如cpu 新增一个临界点表达式 input选A 就是A的值达到某个临界点 触发告警 我这边IS ABOVE0.15就是cpu大于0.15%就触发报警,这个值怎么填看指标的值显示 这里要设置一下报警条件 这边随便配置下 配置标签和通知,选择你的邮件 看下告警…...
基于Spring Security 6的OAuth2 系列之六 - 授权服务器--自定义授权页面
之所以想写这一系列,是因为之前工作过程中使用Spring Security OAuth2搭建了网关和授权服务器,但当时基于spring-boot 2.3.x,其默认的Spring Security是5.3.x。之后新项目升级到了spring-boot 3.3.0,结果一看Spring Security也升级…...
MyBatis-Plus的插件
一、分页插件 1.自带的 启动类 在启动类里配置分页相关内容 package com.qcby;import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import com.baomidou.mybatisplus.extension.plugins.inne…...
基于Redis实现短信验证码登录
目录 1 基于Session实现短信验证码登录 2 配置登录拦截器 3 配置完拦截器还需将自定义拦截器添加到SpringMVC的拦截器列表中 才能生效 4 Session集群共享问题 5 基于Redis实现短信验证码登录 6 Hash 结构与 String 结构类型的比较 7 Redis替代Session需要考虑的问题 8 …...
HarmonyOS Next构建工具 lycium 原理介绍
HarmonyOS Next构建工具 lycium 原理介绍 背景介绍 HarmonyOS Next中很多系统API是以C接口提供,如果要使用C接口,必须要使用NAPI在ArkTS与C间交互,这种场景在使用DevEco-Studio中集成的交叉编译工具,以及cmake构建工具就完全够用…...
蓝桥杯例题一
不管遇到多大的困难,我们都要坚持下去。每一次挫折都是我们成长的机会,每一次失败都是我们前进的动力。路漫漫其修远兮,吾将上下而求索。只有不断努力奋斗,才能追逐到自己的梦想。不要害怕失败,害怕的是不敢去尝试。只…...
MySQL可直接使用的查询表的列信息
文章目录 背景实现方案模板SQL如何查询列如何转大写如何获取字符位置如何拼接字段 SQL适用场景 背景 最近产品找来,想让帮忙出下表的信息,字段驼峰展示,每张表信息show create table全部展示,再逐个粘贴,有点太耗费时…...
输入网址到网页显示,发生了什么--讲述
输入www.baidu.com作为网址, 孤身的人-HTTP 浏览器要做的第一步就是 解析URL,根据url里面的资源路径,确认服务器资源和路径,生成http请求消息,包括请求消息(请求行 消息头 请求体) 举例&am…...
npm install 报错:Command failed: git checkout 2.2.0-c
[TOC](npm install 报错:Command failed: git checkout 2.2.0-c) npm install 报错:Command failed: git checkout 2.2.0-c export NODE_HOME/usr/local/node-v14.14.0-linux-x64 npm config set registry https://registry.npmmirror.com 使用如上环…...
[Day 15]54.螺旋矩阵(简单易懂 有画图)
今天我们来看这道螺旋矩阵,和昨天发的题很类似。没有技巧,全是循环。小白也能懂~ 力扣54.螺旋矩阵 题目描述: 给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 示例 1: …...
react antd点击table单元格文字下载指定的excel路径
在使用 Ant Design (antd) 的 Table 组件时,如果想点击表格单元格中的文字来触发下载指定路径的 Excel 文件,可以通过以下步骤实现: 1. 确保有一个可供下载的 Excel 文件:需要有一个服务器端点或者一个可以直接访问的 URL…...
什么是数据结构
数据结构 如何有效的存储数据。 数据存储方式 物理结构又称存储结构 在内存中存储状态,数据可以选择集中存放(顺序存储结构),也可以选择分散存放(链式存储结构)。 逻辑结构 数据之间的逻辑关系&#…...
把 PVE 下的机械硬盘(非SSD系统盘)分配给虚拟机使用
PVE 挂在硬盘 参考 Ubuntu 24.04 LTS 空闲硬盘挂载到 文件管理器的 other locations。 在 PVE shell 中根据上面教程挂在硬盘 新建分享目录 参考 Proxmox VE(PVE)添加硬盘做存储 虚拟机新增硬盘 虚拟机 关机,按下图新增硬盘 新增硬盘…...
HTML5 Web Worker 的使用与实践
引言 在现代 Web 开发中,用户体验是至关重要的。如果页面在执行复杂计算或处理大量数据时变得卡顿或无响应,用户很可能会流失。HTML5 引入了 Web Worker,它允许我们在后台运行 JavaScript 代码,从而避免阻塞主线程,保…...
把网站程序数据上传到服务器的方法和注意事项
将网站程序数据上传到服务器是一个常见的网站开发和部署流程。主要涉及到FTP上传、FileZilla、rsync(在Linux下)、或其他相关的文件同步工具。以下是一般步骤和方法: 使用FTP: 1. 选择FTP客户端软件: - 常见的FTP客户端包括FileZilla(开源)、…...
YOLOv5训练自己的数据及rknn部署
YOLOv5训练自己的数据及rknn部署 一、下载源码二、准备自己的数据集2.1 标注图像2.2 数据集结构 三、配置YOLOv5训练3.1 修改配置文件3.2 模型选择 四、训练五、测试六、部署6.1 pt转onnx6.2 onnx转rknn 七、常见错误7.1 训练过程中的错误7.1.1 cuda: out of memory7.1.2 train…...
李沐vscode配置+github管理+FFmpeg视频搬运+百度API添加翻译字幕
终端输入nvidia-smi查看cuda版本 我的是12.5,在网上没有找到12.5的torch,就安装12.1的。torch,torchvision,torchaudio版本以及python版本要对应 参考:https://blog.csdn.net/FengHanI/article/details/135116114 创…...
Python 在Word中添加、或删除超链接
在Word文档中,超链接是一种将文本或图像连接到其他文档、网页或同一文档中不同部分的功能。通过添加超链接,用户可以轻松地导航到相关信息,从而增强文档的互动性和可读性。本文将介绍如何使用Python在Word中添加超链接、或删除Word文档中的超…...
在K8S中使用Values文件定制不同环境下的应用配置详解
在Kubernetes(简称K8s)环境中,应用程序的配置管理是一项关键任务。为了确保应用程序在不同环境(如开发、测试、预发布和生产)中都能稳定运行,我们需要为每个环境定制相应的配置。Values文件是在使用Helm管理…...
elementUI Table组件实现表头吸顶效果
需求描述 当 table 内容过多的时候,页面上滑滚动,表头的信息也会随着被遮挡,无法将表头信息和表格内容对应起来,需要进行表头吸顶 开始编码💪 环境:vue2.6、element UI step1: 给el-table__h…...
JS-Web API -day06
一、正则表达式 正则表达式测试工具: http://tool.oschina.net/regex 1.1 正则表达式介绍与语法 正则表达式: 正则表达式(Regular Expression)是用于匹配字符串中字符组合的模式。在 JavaScript中,正则表达式也是对象。通常用来查…...
qml MenuItem详解
1、概述 MenuItem 是 QML(Qt Modeling Language)中用于表示菜单项的组件。它通常作为 Menu 组件的子项出现,用于提供用户可点击的菜单选项。MenuItem 可以包含文本、图标,甚至可以是其他 MenuItem 或 Menu 的容器,从而…...
汇编实验·系统调用
一、实验目的: 1.掌握基于特定操作系统中调用API或者SYSTEMCALL的基本方法。 2.进一步理解高级语言中函数调用的相关规定和约定(stdcall,cdec,fastcall等) 3.IA-32架构下API参数在汇编中的实现方式和约定。 二、实验内容 1.在课程设定的VS2022社区版的汇编开发环境下,完…...
ubuntu调用图形化网络测试工具
在 Ubuntu 中,除了命令行工具外,还有一些图形化的网络测试工具可以帮助你更直观地测试和分析网络性能。以下是几款常用的图形化网络测试工具及其使用方法: 1. gnome-nettool gnome-nettool 是一个简单的图形化网络工具集,包含 pi…...
【Qt】05-菜单栏
做菜单 前言一、创建文件二、菜单栏 QMenuBar2.1 示例代码2.2 运行结果 三、工具栏 QToolBar3.1 运行代码3.2 结果分析 四、状态栏 QStatusBar4.1 运行代码4.2 运行结果 五、文本编辑框 QTextEdit5.1 运行代码5.2 运行结果 六、浮动窗口 addDockWidget6.1 运行代码6.2 运行结果…...
Git知识分享
一、理解git首先要理清楚下面五个概念: 1、工作区(git add 命令之前的样子) 2、stash 暂存(暂存工作区和暂存区的更改) 3、暂存区(git add 命令之后的存储区, 4、本地仓库(git commit提交的位置) 5、远程仓库(git push提交的位置) 二、git常用命令: 1、g…...
细说STM32F407单片机电源低功耗StandbyMode待机模式及应用示例
目录 一、待机模式基础知识 1、进入待机模式 2、待机模式的状态 3、退出待机模式 二、待机模式应用示例 1、示例功能和CubeMX项目设置 (1) 时钟 (2) DEBUG、LED1、KeyRight、USART6、CodeGenerator (3&#x…...
独立站运营新突破:Clock斗篷技术助力商家降本增效
一、引言 在当今竞争激烈的电商市场中,独立站运营已成为众多商家拓展业务、打造品牌的重要途径。然而,推广成本高企一直是困扰独立站商家的难题。许多商家在推广过程中,由于缺乏有效的策略,往往面临高昂的费用和有限的回报。但事实…...