房屋租赁信息管理系统

更新时间:2024-05-17 10:43:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

毕业设计

房屋租赁信息管理系统

学生姓名 学 号 学 院 专 业 班 级 指导教师 职 称

计算机与信息工程学院 计算机科学与技术

湖 南 商 学 院

2013年5月

湖南商学院本科毕业设计(论文)诚信声明

本人郑重声明:所呈交的本科毕业设计(论文),是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议,除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。

本科毕业设计(论文)作者签名: 年 月 日

湖南商学院毕业设计(论文)

内容摘要

随着互联网络的发展,现实生活中各行各业都向着网络化发展,其中房屋出租也由传统的张贴广告发展到互联网。当下,经济快速发展,越来越多的人对房屋的租赁有更大的需求,如何高效快速的获取有效的房屋信息,又不通过第三方中介通过收取手续费来提供信息,是本系统开发的意义所在。

本系统提供了出租,求租,留言和查询等几个主要功能。普通游客通过访问该网站可以浏览该网站其他注册用户发布的出租和求租信息。如果想通过本系统发布免费的出租,求租信息需要注册成为该网站的会员。发布后的信息,若通过管理员的审核,将在前台页面显示,其他浏览该网站的用户可以看到该条信息。

本系统是一个基于JAVA EE开发的WEB系统,采用B/S结构,使用SERVLET+JSP开发模式。由于该网站是小型应用网站,所以数据库使用的是MYSQL,其中前台界面使用了CSS+DIV实现网页的布局,还用到了当下流行的前台框架bootstrap。

关键词

房屋租赁;JSP;SERVLET;B/S;WEB系统

湖南商学院毕业设计(论文)

ABSTRACT

Along with the development of the Internet, all walks of life are all in real life to network development, including rental housing also has developed from a traditional AD posted to the Internet. At present, rapid economic development, more and more people have a greater demand on housing rental, how efficient and rapid access to effective information, and not through a third party mediation by charging fees to provide information, is the meaning of this system development.

This system provides a rental, inquiry, message and the query and so on several major functions. Regular visitors by accessing the website of other registered users can browse the web site, rental and price information. If you want to release free rent by this system, soliciting the information need to be registered as members of the site. After the release of information, if through the administrator of the audit, will be at the front desk page shows, other users can browse the site to see this message.

This system USES the traditional SERVLET + JSP development mode. Because the site is a small application, so using a MYSQL database, including the front desk interface using a CSS + DIV realization of web page layout, also use the bootstrap current popular front desk framework.

KEY WORDS

House lease; The JSP; The Servlet; B/S; WEB system

湖南商学院毕业设计(论文)

目 录

1. 绪论.................................................................................................................1

1.2 系统开发背景与意义...............................................................................................1 1.2 系统的设计过程...................................................................................... ................2 1.3 本文主要内容和章节安排.............................................................................................2

2. 系统需求分析.................................................................................................3

2.1 用户角色分析..............................................................................................................3 2.2 功能需求分析..............................................................................................................5 2.2 数据需求分析..............................................................................................................7

3. 系统总体设计.................................................................................................8

3.1 总体框架.....................................................................................................................8 3.2 开发平台与语言..........................................................................................................8 3.3 软件结构...................................................................................................................10 3.4 数据库逻辑设计.....................................................................................................10

4. 系统详细设计...............................................................................................12

4.1 数据库的设计与实现.............................................................................................12 4.2 功能模块的设计与实现.........................................................................................17

4.2.1 登录注册模块...............................................................................................17 4.2.2 租赁信息发布模块.......................................................................................18 4.2.3 租赁信息查询模块.......................................................................................20 4.2.4 租赁信息审核模块.......................................................................................21 4.2.5 用户中心管理模............................................................................... ............22

5. 系统测试............................................................................................... .......23

5.1 Tomcat服务器的检测.............................................................................................23 5.2 检测MySQL数据库是否连接成功..............................................................................24 5.3 用户管理功能测试......................................................................................................25 5.4 房屋租赁信息发布功能测试........................................................................................26

湖南商学院毕业设计(论文)

5.5 房屋租赁信息查询功能测试.......................................................................................26

总结与展望........................................................................................................28 参考文献............................................................................................................29 致谢....................................................................................................................31

湖南商学院毕业设计(论文)

房屋租赁信息管理系统

1. 绪 论

本系统是一个简单的WEB房屋租赁管理系统,网民可以通过本网站获取系统用户发布的出租房屋信息和求租房屋信息。本系统与其他大型房屋租赁管理系统网站的最大区别就是不通过第三方中介提供房源信息,减免了中介费用,是真正从用户角度出发,为用户利益考虑的房租租赁管理系统。

1.1 系统开发背景与意义

随着整个社会经济的进步,城市现代化建设步伐不断加快,现在房屋租赁已开始转变为社会生活的一个重要组成部分。所以无论是房屋出租抑或是房屋求租,现在都面临着巨大的需求。

现在社会上存在这大量的房屋中介现象,但是不论是对于房东来说还是对于求租者来说,面对各种各样的的中介公司让人感到无从下手,大量的复杂的房产信息让他们感受到很彷徨,甚至迷茫,难以快速、准确地从众多房屋信息中找到比较适合自己的房屋信息。其次,出租和承租双方在进行交易的时候还要通过中介,这样使得这个交易过程更加冗长繁琐。而且,中介公司一般会收取一定比例的中介费用,这给房屋租赁者带来了很多大的负担。所以,我们需要提供一些没有中介公司参与其中的房屋出租者与房屋求租者的房屋信息,以此来弥补中介公司的很多不足。

以房屋租赁信息管理系统作为毕业设计的题目的意义在于,伴随着经济的发展,越来越多的人开始从农村涌进城市谋生,当前住房问题越来越紧张,人们对住房信息的需求越来越庞大,集中、有效、详细的住房信息能够为广大房屋需求者提供方便。因此,随着网络的发展,互联网开始走进千家万户,现在人们的生活基本上离不开电脑。人们日常生活中的各种需求也能通过互联网得到供应。各种网站的出现,与房屋租赁信息有关的版面越来越受到大家的欢迎。我选择这个课题,是因为这个系统与我们的日常生活息息相关。人们的生活离不开衣食住行,所以住房问题是我们不可逃避的话题,同时也是我们比较熟悉的问题,从生活需求出发,使得我的毕业设计更具有现实意义。比如随着我们毕业走向社会,我们首先要面对的就是住房问题,但是在人生地不熟的环境中,

第 1 页 共30页

湖南商学院毕业设计(论文)

很难得到实用可靠的住房信息。所以如果有个集中有效的途径获得房源信息,能给我们的生活带来极大的方便。房屋租赁系统,能给需要租房的人提供丰富的房源信息,从这里选择适合自己的房子居住。

1.2 系统的设计过程

本课题的开发要求基于WEB数据库来实现,通过查找大量资料,找出本类型网站的基本需求,然后从分析用户身份认证方面的问题出发,结合本次毕业设计的相关要求写出需求分析;其次,综合运用以前所学的相关知识(包括软件工程、计算机网络安全等),选择所熟悉的开发工具和开发平台(如myeclipse,tomcat等)进行本毕业设计的开发;在设计中以需求分析为基础,按照软件工程的思想,将需求分析转化为功能需求,搭建本系统的基本框架,写出系统的主要实现方法,在开发的同时进行相关功能的完整性测试。最后,在系统开发完毕后,对系统进行整体的功能测试,找出其中存在的问题,进行修改和完善。

1.3 本文主要内容和章节安排

本文分为系统需求分析、总体设计、系统详细设计、系统测试和总结等五个主要部分,章节安排为:

第1章绪论,主要介绍系统设计的背景和意义以及本课题的设计过程。

第2章系统系统分析,主要是进行用户角色分析、功能需求分析和数据需求分析,获取房屋租赁管理系统开发的业务流程,确定不同系统角色对系统功能的需求,整理相关信息,确定系统的开发范围。

第3章系统总体设计,主要是对系统的总体框架和数据库进行设计,并介绍本系统开发采用的开发平台和语言。

第4章系统详细设计与实现,主要是表述数据库和功能模块的详细设计。 第5章系统测试,主要是对系统的主要功能模块的实现进行测试,验证其是否能完成相应的功能。

第6章总结与展望,主要是对本系统的完成情况、不足之处进行总结。

第 2 页 共30页

湖南商学院毕业设计(论文)

2. 系统构成与工作原理

鉴于当前房租租赁信息管理系统的发展现状与未来趋势,本系统旨在提供一个能及时发布、查询房屋租赁信息的平台。考虑到房屋租赁系统信息发布实时性与便捷性,本系统采用B/S模式进行开发。

本章将从用户角色分析、功能需求分析和数据需求分析三个主要方面进行系统需求分析。

2.1 用户角色分析

我们通常描述系统和参与者之间的相互作用是通过用例图来实现。用例图是从用户的角度出发来对如何使用系统的一种描述方式。这里我们先解释几个用例图中用到的名词,见下图2.1所示。

图2.1 用例图名词介绍

通过分析,本房屋租赁信息管理系统的角色可以分为三类,分别为普通用户,系统会员和系统管理员。不同的角色在系统中有不同的权限和功能。该房屋租赁信息管理系统的管理员,注册会员和普通用户的用例图分别如下图所示。

任何普通用户即通过浏览器浏览该房屋租赁体统但没有注册成为该系统用户的游客,可以浏览、查看经过审核的所有房屋租赁信息。

第 3 页 共30页

湖南商学院毕业设计(论文)

图2.1 普通用户用例图

系统会员,即已注册成为该系统用户的网民,通过登录成功该系统,可以发布个人的房屋租赁信息。

图2.2 注册用户用例图

拥有系统管理员身份的人,登录该系统后可以对系统注册用户发布的出租和求租信息进行审核,只有通过管理员审核后的租赁信息才会在前台显示,其他用户才能得到该租赁信息的详细情况。

图2.3 管理员用例图

第 4 页 共30页

湖南商学院毕业设计(论文)

2.2 功能需求分析

在本房屋租赁信息管理系统中,从实际出发,通过分析,确定本系统应该具备登录注册功能,房屋租赁信息发布功能,房屋租赁信息查询功能,房屋租赁信息审核功能,用户个人中心管理功能等五个基本功能模块。 软件的主要模块和功能如下: (1)登录注册

要想使用该房屋租赁系统的功能,必须注册成为该系统的用户。注册时用户需要选择一个头像,填写“用户名”,“密码”,“联系方式”,“性别”和“联系方式”等基本信息。其中用户名是用户用来登录该系统的帐号,具有唯一性,因此在用户注册时系统需要检查此用户名是否已经存在。只有成功登录该系统的用户才能免费发布房屋租赁信息,用户登录时需要填写“用户名”和“密码”两个验证信息。

(2)房屋租赁信息发布

房屋租赁类型分为“出租”、“整组”、“合租”三种。用户在发布房屋租赁信息时需要选择发布信息的类型。发布租赁信息需要填写的信息有“标题”、“期望租金”、“期望地点”,其中发布“出租”信息还可以选择提供“房屋设备”、“房屋简介”、“房屋图片”等详细情况,发布“求租”信息同样可以附加“求租要求”、“个人图片”等信息,以便其他用户更加了解你的需求和信息。用户发布的租赁信息需要通过后台管理员的审核才能供其他用户使用。

(3)房屋租赁信息查询

通过“房屋租赁信息查询”功能,用户可以根据不同的查询条件来过滤需要的租赁信息。本系统提供的查询条件包括根据“租赁类型”查询,根据“房屋地址”查询,根据“租赁信息标题”查询。在得到的租赁信息列表页面用户点击某条信息的标题,进入该信息的详细信息界面,查看该租赁信息的详情,并且可以针对该条信息留言。

(4)房屋租赁信息审核

系统管理员的主要工作就是审核前台用户发布的房屋租赁信息。所以“房屋租赁信

息审核”功能是系统管理员才能操作的。管理员通过登录后台管理系统,审核前台用户提交的房屋租赁信息。只有通过了管理员审核的信息才能在系统前台界面显示,才能被其他浏览该系统的用户看见。

第 5 页 共30页

湖南商学院毕业设计(论文)

(5)用户个人中心管理

通过“用户个人中心管理”模块,系统用户可以修改个人基本信息和登录密码,其中个人基本信息包括修改“头像”,“用户名”,“性别”,“联系方式”等。在用户个人中心界面按照“发布时间”逆序列出用户所有的租赁信息,包括信息的“标题”,“期望租金”,“期望地点”,“审核状态”等,同时提供了删除租赁信息的操作,用户可以删除已经不需要的租赁信息。此删除操作为数据库的物理删除,意味着用户本人也不能再查看该条信息的情况。

系统主要功能模块之间的关系通过系统功能结构图来反应,通过系统功能结构图简单明了的表现出它们的相互关系。系统功能需求如图2.4所示。

图4 系统功能结构图

第 6 页 共30页

湖南商学院毕业设计(论文)

2.3 数据需求分析

通过对系统的功能需求分析,我们可以初步得出该系统所需的数据库表的设计情况。该系统将有六张表,分别为角色表,用户表,出租房屋表,求租房屋表,求租类型表和留言表。其中角色表包括两个角色,为普通会员和管理员;求租类型表分为整组跟合租两种。出租表,求租表,用户表和留言表之间的关系为:一个用户可以发布一条或多条出租求租信息,同时也可正对他人发布的信息,进行留言。一个用户可以针对一条信息发布多条留言。系统数据库表的E-R图如下图2.5所示。

用户ID密码注册用户n1作为1角色用户名

图2.5 数据库E-R图 留言地点n租金信息IDn租赁信息1拥有1属于1租赁类型用户名n审核1n系统管理员1发布标题作为密码用户ID

第 7 页 共30页

湖南商学院毕业设计(论文)

3. 系统总体设计

3.1 总体框架

本系统是基于WEB的房屋租赁信息管理系统,系统采用当下流行的B/S构架。在B/S结构下,用户界面可以通过浏览器实现,一部分的事务逻辑在前端实现,主要事务逻辑在服务器端实现。浏览器通过Web服务器同数据库进行数据交互。B/S模式的体系结构的原理如图3.1所示。

图3.1 B/S模式体系结构原理图

3.2 开发平台与语言

在本系统的开发中,选用JAVA作为开发语言,采用了MyEclipse作为系统编程工具,Tomcat作为web服务器,JSP作为系统前端开发语言,MySQL作为数据库。其中前端使用到了bootstrap框架,使用了AJAX异步访问技术。

开发本系统的软硬件基本配置如表3.2所示:

表3.2 系统的软硬件基本配置

硬件配置 处理器:Intel Pentium 4 2.4G(R);

内存:1G; 硬盘:80GB; 显示器:1366 x 768 分辨率,32位色; 输入设备:鼠标、键盘。

处理器:Intel Pentium 4 1.8G; 内存:1G; 显示器:1366 x 768 分辨率,32位色; 输入设备:鼠标、键盘。

软件配置 操作系统:Windows 7; 数据库:MySQL;

开发工具包:JDK1.6.0; JSP服务器:Tomcat6.0; 操作系统:Windows XP 浏览器:Google Chrome 26.0.1410.64 m 。

服务器端

客户端

第 8 页 共30页

湖南商学院毕业设计(论文)

本系统采用的系统平台及工具说明如下:

本系统开发语言选用Java,JSP,所以采用MyEclipse,Tomcat为主要开发工具,MySQL数据库管理系统与Windows 7操作系统进行。Tomcat是一个免费的web服务器,能自动检测到部署在其webapp目录下的打成war包的项目,并将其解压。所以部署应用程序在tomcat下很容易。MyEclipse可以快速的部署项目到Tomcat服务器。由于B/S结构的使用越来越多,特别是由需求推动了AJAX技术的发展,它的程序也能在客户端电脑上进行部分处理,从而大大的减轻了服务器的负担;并增加了交互性,能进行局部实时刷新。以上开发平台和技术都是我们在学校常用的。下面主要介绍我在本系统中使用到的前端框架Bootstrap。

Bootstrap是一种轻量级的开发前端的框架,提供了各式各样的前端插件,能美化我们的前端界面,在节省开发时间的同时,使前端质量大大提升。

Bootstrap是Twitter推出的一个开源的用于前端开发的工具包。它由Twitter的设计师Mark Otto和Jacob Thornton合作开发,是一个CSS/HTML框架。Bootstrap提供了优雅的HTML和CSS规范,它即是由动态CSS语言Less写成。Bootstrap一经推出后颇受欢迎,一直是GitHub上的热门开源项目,包括NASA的MSNBC(微软全国广播公司)的Breaking News都使用了该项目。

在下载的压缩包中你可以看到如下的文件结构和内容。所有文件按逻辑进行分类存储,并且提供了编译和压缩两个版本的文件。

图3.3 Bootstrap的基本结构

如上图3.3所示,这就是Bootstrap的基本结构:编译后的文件可以快速应用于任何web项目。我们提供了编译版的CSS和JS文件 (bootstrap.*),也同时提供了编译并压

第 9 页 共30页

湖南商学院毕业设计(论文)

缩之后的CSS和JS文件 (bootstrap.min.*)。图片文件是使用 ImageOptim 工具进行压缩的,这个工具是Mac平台上用于压缩PNG文件的一个app。

3.3 软件结构

系统的程序结构主要是严格按照MVC方式进行的开发的,注意系统层次结构和功能模块之间的联系。在本系统的租赁信息管理模块中,用户发布房屋出租信息和房屋求租信息的操作需要通过登录该系统后才能进行。租赁信息查询模块对可以浏览该网站的所有用户开放,方便用户查看相关的房屋求租以及房屋出租等信息。文档的结构主要根据整个软件开发过程中的流程来书写。尽量做到思路清晰,文章结构层次清晰。本系统的主要流程图如下图3.4所示。

图3.4 系统整体流程图

发布租赁信息删除租赁信息审核租赁信息查询租赁信息管理租赁信息留言管理租赁信息管理会员信息No管理员Yes注册No登录成功注册成功Yes登录Yes判断角色3.4 数据库逻辑设计

本系统的数据库逻辑设计就是将图2.5所示的E-R图转换为关系模型,即将图2.5

第 10 页 共30页

湖南商学院毕业设计(论文)

所示的所有实体和关系转换成一系列的关系模式。

将数据库E-R图转换成为关系模型,得到角色表(role)、用户基本信息表(user)、出租信息表(rent_out)、求租信息表(rent_in)、租赁类型表(type)、留言表(message)六张数据库表。

(1)角色表(role)

Role表用来记录该系统用户的角色。目前系统持久化的角色有两种,系统注册用户和系统管理员。

(2)出租信息表(rent_out)

Rent_out表用来记录用户发布的出租信息。由于用户发布的出租信息与求租信息,有很多不同的要求,所以把出租求租两者分开。因此,需要一张单独的出租表来记录出租信息,方便后台管理。

(3)求租信息表(rent_in)

Rent_in表用来记录用户发布的求租信息。由于用户发布的出租信息与求租信息,有很多不同的要求,所以把出租求租两者分开。因此,需要一张单独的求租表来记录求租信息,方便后台管理。

(4)租赁类型表(type)

Type表用来记录房屋租赁类型,包括出租、整组和合租三种租赁类型。 (5)用户基本信息表(user)

User表用来存放用户基本信息。本系统在设计时普通会员和管理员共用同一张表,由于普通会员和管理员拥有不同的身份,所以有角色字段来区分二者的身份,系统根据角色决定登录后跳转到前台还是后台界面。

(6)留言表(message)

Message表用来记录留言信息。当用户查看出租信息详情时,可以对该条记录的发布者留言,方便用户之间的交流。同时,也为其他浏览该条信息的用户提供消息。

第 11 页 共30页

湖南商学院毕业设计(论文)

4. 系统详细设计

本章将从数据库和功能实现两个方便,综合运用业务流程图、程序设计流程图、图形界面和关键代码四种方式来说明系统的详细设计。本系统包括对登录注册功能,房屋租赁信息发布功能,房屋租赁信息查询功能,房屋租赁信息审核功能,用户个人中心管理功能等5大模块的实现。

4.1 数据库的设计与实现

根据我们在学校所学的数据库方面的知识以及结合平常的实践经验,我们知道数据库设计的好坏将对系统产生重大的影响,数据库是为应用提供服务的,好的数据库设计首先应该要能满足应用系统的业务需求以及准确的表达数据之间的关系。其次好的数据库设计要能保证数据的准确性和一致性,通过建立表字段的各种约束条件保证数据的健壮。最后,要能提高数据查询的效率。

通过对系统的功能需求分析,我们可以初步得出该系统所需的数据库表的设计情况。这个过程是对现实世界数据的抽象,即模型。从抽象出数据到将数据存进数据库整个过程我们图4.1描述。

图4.1 数据抽象到存储的过程

该系统将有六张表,分别为角色表,用户表,出租房屋表,求租房屋表,求租类型表和留言表。其中角色表包括两个角色,为普通会员和管理员;求租类型表分为整组跟合租两种。出租表,求租表,用户表和留言表之间的关系为:一个用户可以发布一条或多条出租求租信息,同时也可正对他人发布的信息,进行留言。一个用户可以针对一条信息发布多条留言。

本系统采用mysql5.0作为数据库。在安装好数据库后,将数据库root用户的密码改为“password”,然后在mysql中创建数据库,命名为“webhouse”。使用mysql建

第 12 页 共30页

湖南商学院毕业设计(论文)

表工具workbench建立表与表之间的关系。你可以用MySQL Workbench设计和创建新的数据库图示,建立数据库文档,以及进行复杂的MySQL 迁移。MySQL Workbench 为数据库管理员、程序开发者和系统规划师提供可视化设计、模型建立、以及数据库管理功能。其中建立表之间的关系如下。

图4.2 数据库表之间的关系

下面针对上述表的设计,给出具体的说明。

(1)角色表(role)

Role表用来记录系统角色。目前系统持久化的角色有两种,系统管理员和系统注册用户。该表是user表的外键,不同的角色登录系统后能进行不同的操作。各个字段详细设计说明如表4.3所示。

第 13 页 共30页

湖南商学院毕业设计(论文)

表4.3 角色表

列名 Role_id Role_name 类型 int Varchar(10) 约束 Primary key Not null 说明 主键 角色名 (2)用户基本信息表(user)

该表记录用户的基本信息,其中user_name唯一,是登录系统时的帐号。各个字段详细设计说明如表4.4所示。

表4.4 用户基本信息表

列名 类型 约束 说明 user_id user_name password role telephone head_image sex int Varchar(20) password int Varchar(11) text char Primary key Not null, unique Not null Not null Not null Not null Not null 主键 用户名 密码 角色 联系电话 头像 性别 (3)租赁类型表(type)

Type表用来记录求租信息的类型,分为出租、整组跟合租三种。其中各个字段详细设计说明如表4.5所示。

表4.5 租赁类型表

列名 Type_id Type_name 类型 int Varchar(10) 约束 Primary key Not null 说明 主键 类型名

第 14 页 共30页

湖南商学院毕业设计(论文)

(4)求租表(rent_in)

该表记录求租信息。其中publisher为外键,是该条信息的发布者。Rent_in_type记录求租类型,1为整组,0为合租。Legal记录该条信息是否审核通过,若通过,则在前端显示该条记录,否则不显示该条记录。但是用户自己可以看到该条记录的相关状态。Checked记录该条信息是否已审核。其中各个字段详细设计说明如表4.6所示。

表4.6 求租表

列名 in_id publisher Publish_time Picture title Address Rent_in_type Money 类型 int int datetime Text Varchar(10) Varchar(45) int float 约束 Primary key Foreign key Not null Not null Not null Not null Not null Not null 说明 主健 发布者(外键) 发布时间 图片 标题 求租地址 求租类型 期望租金 Pictures Detail Legal Checked Checked_time Text text char Char Datetime Not null Not null Not null Not null Not null 个人图片 特别说明 是否审核通过 是否审核 审核时间 (5)出租表(rent_out)

该表记录求租信息。其中publisher为外键,是该条信息的发布者。Legal记录该条信息是否审核通过,若通过,则在前端显示该条记录,若没通过,则前端不显示该条记录。但是用户自己可以看到该条记录的相关状态。Checked记录该条信息是否已审核。其中各个字段详细设计说明如表4.7所示。

第 15 页 共30页

湖南商学院毕业设计(论文)

表4.7 出租表

列名 Out_id publisher Publish_time equipment title Address Money Pictures Detail Legal Checked Checked_time 类型 int int datetime Text Varchar(10) Varchar(45) float Text text char Char Datetime 约束 Primary key Foreign key Not null Not null Not null Not null Not null Not null Not null Not null Not null Not null 说明 主健 发布者(外键) 发布时间 房屋设备 标题 出租地址 期望租金 个人图片 特别说明 是否审核通过 是否审核 审核时间 (6)留言表(message)

Message表是记录留言。系统当前登录用户,可以观看其他用户发布的租赁信息,并且可以在该条信息的详细页面进行留言。其中sender为该条留言信息的留言者,getter为该条留言信息的接收者,rent_in和rent_out在同一条记录中,只能有一个有值,即该条留言信息是针对哪一条出租信息或者哪一条求租信息发布的。其中各个字段详细设计说明如表4.8所示。

表4.8 留言表

列名 Message_id sender Getter 类型 int int int 约束 Primary key 说明 主健 Foreign key, Not null 留言者(外键) Foreign key, Not null 接收者(外键) 第 16 页 共30页

湖南商学院毕业设计(论文)

Content Date Rent_in Rent_out Text datetime Int int Not null Not null 留言内容 留言时间 Foreign key, Not null 求租留言 Foreign key, Not null 出租留言 4.2 功能模块的设计与实现

4.2.1登录注册模块

系统注册模块实现了系统用户的添加功能。该功能需要用户填写“用户名”、“密码”和“联系电话”,“性别”和“上传头像”等基本信息。从安全性和系统的可维护性方面考虑,系统对用户输入的信息将进行前台后台验证。这五项均为必填项,在输入框后进行提示,系统采用ajax技术动态验证用户输入的结果,如:有为空输入时,提交后系统弹出对话框显示内容不能为空的提示。用户注册成功后,可以实现登录系统来发布免费的租赁信息等功能。其中创建用户程序流程图如图4.9所示。

提示错误信息输入用户名开始 用户名重复 YesNo 填写其他基本信息 提示错误信息No基本信息合法Yes 信息存入数据库user表

结束

图4.9 创建用户程序流程图

第 17 页 共30页

湖南商学院毕业设计(论文)

4.2.2房屋租赁信息发布模块

房屋租赁信息包括出租信息和求租信息两种。由于出租信息和求租信息的发布内容大致相同,所以界面的代码的编写在同一个JSP里面。该界面的使用DIV布局,样式使用的是前端框架bootstrap提供的table样式中的一种,整个界面看起来简单干净。出租房屋信息的发布是通过表单提交来实现的,当用户点击发布免费信息按钮后,系统跳转到租赁信息发布页面。该功能页面需要接收“标题”、“租金”、“地点”、“设备”、“特点简介”和上传房屋图片等六项基本信息。由于浏览器的版本不同,从安全性方面考虑,只能获取到上传文件的文件名,不能获取上传文件的全路径,如果按照以前的方式读取文件就不能成功,因此这里通过引入jspsamrt.jar包来实现文件的上传,系统后台将上传的文件保存到服务器tomcat的webapplication目录下。在后台通过request的getParameters()来获取前台传来的多值元素,这样我们将获取一个string数组。为了让String数组中数据持久化保存到数据库中。这里我将每个数组元素以“;”进行拼接,这样就能获取一个字符串,然后存入到相应的表字段中。通过这种方式我们可以来存储用户上传的房屋图片和房屋设备。下面了提供了房屋租赁信息发布的流程图和发布出租信息的控制层及持久层的实现代码。其中发布租赁信息的程序流程为图4.10所示。

开始

提示错误信息No填写出租信息表单基本必填项

信息输入合法Yes将记录插入数据库表rent_out中 等待后台审核

结束图4.10 发布出租信息流程图

第 18 页 共30页

湖南商学院毕业设计(论文)

Servelt中获取前台出租信息的代码实现

//发布出租信息 private void chuZu(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { SmartUpload mySmartUpload = new SmartUpload(); mySmartUpload.initialize(this.getServletConfig(), request, response); mySmartUpload.setAllowedFilesList(\); try {

mySmartUpload.upload();

mySmartUpload.save(this.getServletContext().getRealPath(\)); } catch (SmartUploadException e) { e.printStackTrace(); } String title = mySmartUpload.getRequest().getParameter(\); String address = mySmartUpload.getRequest().getParameter(\); String[] equipment = mySmartUpload.getRequest().getParameterValues(\); String detail = mySmartUpload.getRequest().getParameter(\); String[] picture = mySmartUpload.getRequest().getParameterValues(\); Integer money = Integer.parseInt(mySmartUpload.getRequest().getParameter(\)); RentOutVO out = new RentOutVO(); out.setUserId(((UserVO)request.getSession().getAttribute(\)).getUserId()); out.setTitle(title); out.setAddress(address); out.setDetail(detail); out.setEquipment(equipment); out.setMoney(money); out.setPicture(picture); int i = mySmartUpload.getFiles().getCount(); String[] pics = new String[i]; for(int j=0; j

出租信息录入数据库的代码实现

public void addMessage(RentOutVO out) { conn = instance.getConnection(); try {

第 19 页 共30页

湖南商学院毕业设计(论文)

pst = conn.prepareStatement(\into rent_out (publisher, publish_time, title, address, detail,equipment, pictures, money, legal, checked, checked_time) values (?,now(),?,?,?,?,?,?,'n','n',now())\); pst.setInt(1, out.getUserId()); pst.setString(2, out.getTitle()); pst.setString(3, out.getAddress()); pst.setString(4, out.getDetail()); String equ = null; if(null != out.getEquipment()) { String[] equipment = out.getEquipment(); for (int i = 0; i < equipment.length; i++) { equ = equ + equipment[i]+\; } } pst.setString(5, equ);String pic = \; String[] picture = out.getPicture(); for (int i = 0; i < picture.length; i++) { pic = pic + picture[i]+\; } pst.setString(6,pic); pst.setInt(7, out.getMoney()); pst.execute(); } catch (SQLException e) { e.printStackTrace(); }finally{ instance.colse(conn, pst, rs); } }

4.2.3房屋租赁信息查询模块 通过使用该查询功能,用户可以根据自己的需求过滤信息。本系统提供了3中不同的查询方式,分别为按租赁类型查询,按标题查询,按房屋租赁信息地址查询。其中按标题和地址查询系统采用的是模糊查询方式,只要符合条件的记录都将被查出。该功能的程序流程图如下图4.11所示:

第 20 页 共30页

湖南商学院毕业设计(论文)

查看详细信息按标题查询开始选择查询条件按租赁类型查询按房屋地点查询Yes有记录No进行其他操作

结束图4.11 根据租赁类型查询租赁信息流程图

4.2.4房屋租赁信息审核模块

用户在前台发布的租赁信息,要通过后台的验证才能在前台显示给其他用户浏览。租赁信息的审核包括出租信息的审核和求租信息的审核,它们的实现机制相同。下面以审核出租信息为例,来详细的介绍信息审核模块的实现。当用户在前台发布一条出租信息时,系统将记录存进数据库的时候会把rent_out表中的legal和checked字段默认设计为“n”,即审核没有通过和还没有审核。当管理员登录系统后,点击待审核的出租信息超链接,该信息会显示在带审核出租信息列表中。管理员查看该记录的详细信息后,可以在界面底部对该信息进行审核处理,即评判该记录是审核通过还是审核不通过。此时数据库表rent_out中的checked字段会更改为“y”,表示该信息已审核,若审核通过,legal字段的内容会更改为“y”,否则legal字段的内容不变,仍为“n”,表示审核没通过。用户自己可以在个人中心看到该条记录的处理状态,但是没有通过审核的信息其他浏览该系统的用户将看不到。下图为租赁信息审核的流程图。

第 21 页 共30页

湖南商学院毕业设计(论文)

信息不再前台显示No开始查看待审核信息详情审核通过Yes信息在前台显示 结束图 15 租赁信息审核流程图

4.2.5用户个人中心管理模块

用户登录系统进入个人中心后,系统用户可以修改个人基本信息和登录密码和查看自己发布的租赁信息的历史记录。同时在用户个人中心界面提供了删除历史租赁信息记录的操作,用户可以删除已经不需要的租赁信息。

开始

填写要修改的内容

提示错误信息No修改后的信息合法Yes将修改后的内容保存到数据库结束

图16 修改用户信息流程图

第 22 页 共30页

湖南商学院毕业设计(论文)

5. 系统测试

房屋租赁管理系统的查询功能模块实现了按照不同条件查询租赁信息的多种查询方式,包括按租赁类型查询、按租赁信息标题查询、按租赁信息地点查询等。用户可以点击导航栏的租赁类型进行查询,租赁类型包括三种,“出租”、“整合”、“合租”。租赁类型下面的输入框,提供用户按租赁信息标题,或者租赁房屋地点进行模糊查询。

5.1 Tomcat服务器的检测

在使用tomcat前需要安装JDK环境,本系统使用的JDK1.6版本,安装完成JDK后,需要配置系统环境,邮件单击“我的电脑”,选择“属性”,然后选择“配置环境变量”,创建path属性,该属性的值为JDK下bin文件所在路劲,然后添加JAVA_HOME属性,该属性的值为安装JDK所在的路劲,最后添加catalina属性,该属性的值为tomcat服务器所在文件路劲。Tomcat默认端口为8080,如果计算机内有其他程序正在运用该端口,则服务器会报端口已被占用错误提示信息。我们可以在tomcat的配置文件中修改该端口号。本系统使用的是默认端口号。

Tomcat启动成功后,登录浏览器可以看到如下效果图。

\\

图5.1 tomcat启动成功示例图

第 23 页 共30页

湖南商学院毕业设计(论文)

5.2 检测MySQL数据库是否连接成功

本系统采用jdbc连接数据库。在下图5.2中其中静态代码块为加载mysql驱动的代码,获取连接getConnection()方法为创建数据库的连接。

图5.2 创建mysql连接

通过编写测试类test,我们可以测试数据的连接有没有成功,如果成功了,我们会看到MyEclipse控制台打印出“连接mysql成功。。。。”字样,通过下图5.3所示,我们可以知道系统与mysql的连接是正常的。

图5.3 测试连接mysql

5.3 用户管理功能测试

用户管理功能模块包含修改用户信息,修改密码,查看租赁信息发布历史记录,删除租赁信息等几个功能子模块。其中用户管理中心的界面如下图5.4所示。下面我们测试删除用户出租史中的一条出租信息。在用户个人中心界面,选中出租史列表中一条出租记录的列表,点击删除功能,系统通过Ajax技术异步向服务器发送请求,该条记录

第 24 页 共30页

湖南商学院毕业设计(论文)

将动态的被删除。现在用户出租列表中只有一条记录,我们删除该条记录后,该界面的出租史列表模块的记录值应为空。测试结果如图5.5所示。

图5.4 用户管理中心界面

图5.5 测试结果界面

5.4 房屋租赁信息发布功能测试

在发布租赁信息界面,选择要发布的信息的类型。填写租赁信息的标题,期望租金,房屋所处地点等基本信息。系统会对用户填写的信息进行检测,如租赁信息标题必须唯一。当用户点击取消按钮,系统将返回到主界面。当用户点击提交按钮,系统将该记录添加到数据库。下面测试发布一条新的出租信息。但此信息不会在前台显示,必须还要经过后台管理员的审核,只有通过审核的租赁信息才会在前台显示。

第 25 页 共30页

湖南商学院毕业设计(论文)

图5.6 发布租赁信息界面

图5.7 发布租赁信息测试结果

5.5 房屋租赁信息查询功能测试

本房屋租赁管理系统的查询模块有按照不同条件查询租赁信息的多种查询方式,包括按租赁类型查询、按租赁信息标题查询、按租赁信息地点查询。按租赁类型查询有三种,包括“出租”、“整合”、“合租”。租赁类型下面的文本输入框,提供用户按租赁信息标题,或者租赁房屋地点进行模糊查询。

图5.8 查询租赁信息测试结果

第 26 页 共30页

湖南商学院毕业设计(论文)

总结与展望

通过房屋租赁管理系统毕业设计,让我把大学期间所学的专业知识运用到实践中,收获很大。选择房屋租赁系统作为我的毕业设计,主要是从身边的情况出发,越来越感觉到房屋租信息的集中对于我们的重要性。该系统由自己从需求分析,到功能需求设计,代码的编写和测试都由自己全程参与,觉得自己从中收获了许多。

本系统主要是分为以下几个模块:登录注册模块,房屋租赁信息发布模块,房屋租赁信息查询模块,房屋租赁信息审核模块,用户个人中心管理模块。普通游客通过访问该网站可以浏览该网站其他注册用户发布的出租和求租信息。如果想通过本系统发布免费的出租,求租信息需要注册成为该网站的会员。发布后的信息,若通过管理员的审核,将在前台页面显示,其他浏览该网站的用户可以看到该条信息。

本系统是采用B/S结构,使用SERVLET+JSP开发模式。由于该网站是小型应用网站,所以数据库使用的是MYSQL。在前台界面设计方面,使用了CSS+DIV实现网页的布局,还用到了当下流行的前台框架bootstrap美化界面。

系统的基本功能已经实现,可以正常使用,但在界面的美观性、数据库设计的合理性和搜索功能上存在不足,还需改进。如在搜索功能中,应该提供可选的详细地址信息,用户用过选择省份,系统联动显示该省份下的城市,当用户选择了城市,系统联动显示该城市下的区县,然后从数据中查询出满足该查询条件的所有租赁信息记录。

通过本次毕业设计,首先让我更加深刻的了解到软件开发的每一步在软件开发过程中的重要性。因为我们做到每一步都将对后面的每一步开发产生重大的影响。虽然这个毕业设计是由自己独立编码完成的,但是让我联想到了以后的工作中团队合作的重要性,因为或许我们的功能模块没有很大的联系,但是其中任何的一块都将影响整个系统的整体效果。其次,我觉得自己各方面都有所提升,比如说动手能力,自学能力,同时也培养了我的耐心。以前我一遇到不会的知识点就会觉得很烦躁,静不下心来学习,但是现在,我觉得自己的这个毛病得到了缓解。这将对我以后的生活和工作产深远的影响。

第 27 页 共30页

湖南商学院毕业设计(论文)

参考文献

[1] 耿祥义,张跃平. Java2实用教程(第三版)[M]. 北京: 清华大学出版社, 2008. [2] 郑人杰,殷人昆,陶永雷. 实用软件工程(第二版)[M]. 北京: 清华大学出版社, 2010.

[3] 耿祥义,张跃平. JSP基础教程[M]. 北京: 清华大学出版社, 2011.

[4] 施伯乐,丁宝康,汪卫. 数据库系统教程(第三版)[M].北京:高等教育出版社, 2011. [5] 郑阿奇等. Java EE实用教程[M]. 北京:电子工业出版社, 2011. [6] 孙风栋等. Oracle数据库基础教程[M]. 北京: 电子工业出版社, 2007. [7] 曹广鑫, 时强. JSP数据库项目开发宝典[M]. 北京: 电子工业出版社, 2007. [8] 林菡, 张军. 优良的网页设计应该注意的几个要素[J]. 北京教育学院学报(自然科学

版), 2007, 14 (04).

[9] 赖英旭,李毛毛,刘增辉. MVC模式在B/S系统开发中的应用研究[J]. 微计算机信 息,2006,22(30).

[10] 邓军. 基于J2EE轻量级架构的BBS系统设计与实现[J]. 计算机时代, 2009, (6). [11] 赖英旭,李毛毛,刘增辉. MVC模式在B/S系统开发中的应用研究[J]. 微计算机信

息,2006,22(30).

[12] 周海燕. 基于Struts框架的Web开发的研究与应用[J]. 微计算机信息, 2008, 11(12). [13] 张晨曦, 李江峰, 刘依, 赵卫东. 基于角色和范围的通用管理系统的设计与实现[J].

计算机工程, 2008, 34 (7).

[14] 陈刚.Java开发利器Eclipse从入门到精通[M]北京:清华大学出版社,2007. [15] CNNIC.the research report of Chinese internet[EB/OL].

[16] J.Ponzo,Gruber. Integrating Web technologies in Eclipse[J]. IBM Systems Journal. 2007, 21(7).

[17] Zhang Haiyu, Liu Xiaoxia.Develops Web application with Struts based on MVC [J].

Journal of Microcomputer Development, 2007, 11(7)

[18] David M.Geary.Advanced Java Server Pages[M].Sun Microsystems Press,2005.

[19] Teo,TSH,Lee-Partridge,JE,Lim,VKG. Managing Information systems, at Singapore

第 28 页 共30页

湖南商学院毕业设计(论文)

Airlines. Internation Journal of Information Management,1998,18 (Issue:3).

[20] 张璞. Web应用基础业务框架的设计与实现[J]. 计算机工程,2009,35(5). [21] 李刚. 轻量级J2EE企业应用实战(第二版)[M]. 北京: 电子工业出版社, 2008. [22] 邓军. 基于J2EE轻量级架构的BBS系统设计与实现[J]. 计算机时代, 2009, (6). [23] 余浩东. J2EE应用框架设计与项目开发[M]. 北京: 清华大学出版社, 2008.

[24] 张晨曦, 李江峰, 刘依, 赵卫东. 基于角色和范围的通用管理系统的设计与实现[J].

计算机工程, 2008, 34 (7).

[25] 林菡, 张军. 优良的网页设计应该注意的几个要素[J]. 北京教育学院学报(自然科

学版), 2007, 14 (04).

[26] (美)Stephen R.Schach.软件工程面向对象和传统的方法(原书第7版)[M].机械工业 出版社,2007.

[27] 关晓伟.房屋租赁信息的设计与实现[D].天津大学硕士论文,2012. [28] 赖详贵.房屋出租系统管理[D].江苏信息职业技术学院.2010. [29] 孟令刚.房屋租赁管理系统的设计与实现[D].吉林大学硕士论文.2012. [30] 姜智君.房屋管理系统[D].电子科技大学,2010

第 29 页 共30页

湖南商学院毕业设计(论文)

致 谢

作者: 第 30 页 共30页

年 月 日

湖南商学院毕业设计(论文)

致 谢

作者: 第 30 页 共30页

年 月 日

本文来源:https://www.bwwdw.com/article/a1q7.html

Top