基于WEB的房屋出租管理系统设计_第1页
基于WEB的房屋出租管理系统设计_第2页
基于WEB的房屋出租管理系统设计_第3页
基于WEB的房屋出租管理系统设计_第4页
基于WEB的房屋出租管理系统设计_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录10945_WPSOffice_Level1第1章绪论 54314_WPSOffice_Level21.1系统开发的背景 515123_WPSOffice_Level21.2房屋出租系统的意义及必要性 529421_WPSOffice_Level21.3国内外现状研究 54314_WPSOffice_Level31.3.1国内现状研究 515123_WPSOffice_Level31.3.2国外现状研究 64314_WPSOffice_Level1第2章需求分析 723034_WPSOffice_Level22.1可行性分析 729421_WPSOffice_Level32.1.1经济可行性分析 723034_WPSOffice_Level32.1.2技术可行性分析 78818_WPSOffice_Level32.1.3操作可行性分析 75091_WPSOffice_Level32.1.4管理可行性分析 78818_WPSOffice_Level22.2用户需求分析 85091_WPSOffice_Level22.3业务流程 821492_WPSOffice_Level3(1)进行管理自己发布的房子和发布出租新房子; 814270_WPSOffice_Level3(2)查看自己的反馈记录; 815579_WPSOffice_Level3(3)能查看自己房子的订单、 81733_WPSOffice_Level3(4)查看自己发布的求租信息; 87481_WPSOffice_Level3(5)处理自己房子的留言。 815733_WPSOffice_Level3(1)查看自己所租的房间; 812647_WPSOffice_Level3(2)查看租房订单; 86484_WPSOffice_Level3(3)查看所收藏的房子信息; 84407_WPSOffice_Level3(4)查看自己发布的求租信息; 827071_WPSOffice_Level3(5)自我反馈和求租留言。 829185_WPSOffice_Level3(1)进行房子的审核,审核成功之后方可上架; 827739_WPSOffice_Level3(2)删除房屋信息,但是对已经出租成功的房子不可进行删除; 810716_WPSOffice_Level3(3)修改房屋信息; 831197_WPSOffice_Level3(4)增加房屋信息; 81462_WPSOffice_Level3(5)对用户的账号信息的管理; 828231_WPSOffice_Level3(6)反馈管理; 920787_WPSOffice_Level3(7)求租管理; 920423_WPSOffice_Level3(8)留言管理。 915123_WPSOffice_Level1第3章相关技术介绍 921492_WPSOffice_Level23.1SSM 914270_WPSOffice_Level23.2JSP 915579_WPSOffice_Level23.3BootStrap 101733_WPSOffice_Level23.4MySql数据库 107481_WPSOffice_Level23.5IDEA工具 1015733_WPSOffice_Level23.5运行环境 1029421_WPSOffice_Level1第4章系统设计 1012647_WPSOffice_Level24.1系统的功能模块设计 109845_WPSOffice_Level34.1.1租赁者管理模块需求设计 114572_WPSOffice_Level34.1.2租户模块需求设计 113392_WPSOffice_Level34.1.3管理员模块需求设计 116484_WPSOffice_Level24.2数据库设计 124407_WPSOffice_Level24.3数据库表设计 1232376_WPSOffice_Level3(1)用户表(t_user) 1227667_WPSOffice_Level3(2)房屋信息表(t_house) 1323848_WPSOffice_Level3(3)订单表(t_order) 149004_WPSOffice_Level3(4)新闻表(t_news) 1528813_WPSOffice_Level3(5)文章信息表(t_post) 1510386_WPSOffice_Level3(6)收藏表(t_mark) 1625781_WPSOffice_Level3(7)反馈表(t_feedback) 1630114_WPSOffice_Level3(8)交流表(t_comment) 1623034_WPSOffice_Level1第5章系统详细设计 1727071_WPSOffice_Level25.1系统首页的实现 1723822_WPSOffice_Level3(1)主页头部设计 1822947_WPSOffice_Level3(2)登录按钮设计 181795_WPSOffice_Level3(3)注册按钮设计 198824_WPSOffice_Level3e.printStackTrace(); 2029185_WPSOffice_Level25.2房屋页面的展示(整租/合租) 2127739_WPSOffice_Level25.3房屋详情页展示 2110716_WPSOffice_Level25.4求租信息页 2231197_WPSOffice_Level25.5新闻页 221462_WPSOffice_Level25.6反馈页 238818_WPSOffice_Level1第6章系统测试 2328231_WPSOffice_Level26.1测试原则 2320787_WPSOffice_Level26.2测试方法 2320423_WPSOffice_Level26.3测试用例 2432396_WPSOffice_Level3(1)用户登录模块测试,测试用例如下表: 2421353_WPSOffice_Level3(2)房源查询模块测试,测试用例如下: 2431797_WPSOffice_Level3(3)房屋新增和审核模块测试,测试用例如下: 245091_WPSOffice_Level1第7章总结 2521492_WPSOffice_Level1参考文献 2614270_WPSOffice_Level1致谢 27摘要:在当今社会的蓬勃发展的现状下,网络与我们的生活息息相关。工作、生活、休闲我们都利用着网络带给我们的便捷,网络的发展提供了很多工作机会,众多的人们在不同的城市寻找着合适的工作机会,在此的第一步就是寻找一个合适自己出行工作的房子。于是利用网络的便利,实时来开发一个房屋出租管理系统是一个非常迫在眉睫的事情。有了这个网站作为一个房源信息的载体,使得房屋的信息在出租者与求租者之间传播更为轻松,减少了线下很多不必要的麻烦。该系统可以及时的为双方提供良好的服务,在全国各个城市提供服务,可以由房源持有者自行上架房源信息,由管理员进行审核之后上架,管理员审核可以确保该房源的真实性合理性和安全性,大大减少了了求租者对房源的担心隐患问题。现在所使用的信息主要分为房东和租户,房东可以发布自己的房子提供整租还和合租供租户选择,租户可以发布求租信息,查看房源,感觉合适可以联系房东进行后续协商。管理员拥有管理用户房源,留言信息的权限,对房屋信息进行不同的操作。采用JAVA为基础语言,Spring、SpringMVC为基础后端框架,JSP、JavaScript为前端基础框架,MyBatisPlus为持久层框架来实现对房源的展示,增加,修改,删除和查看。并且分为后台管理和前台展示两个模块,后台分权限提供管理员、房东和租户不同的功能以方便个人需求,前台通过动态的展示房屋信息能让租户可以快速地了解自己所在地区的房价,地理位置等情况。通过该系统租户可以快速地找到满意的住房,从而提高了租房工作的效率。关键词:房屋出租,JAVA,Spring,MyBatisPlus

DesignofHouseRentalManagementSystemBasedonWEBABSTRACTU:nderthecurrentsituationoftheboomingoftoday,thenetworkiscloselyrelatedtoourlives.Work,life,andleisureWeallusethenetworktobringusconvenience,thedevelopmentoftheInternetprovidesalotofjobopportunities,andmanypeoplefindtherightjobopportunitiesindifferentcities.Thefirststepinthisistofindasuitableself.Houserunningwork.Sousingtheconvenienceofthenetwork,developingahousingrentalmanagementsysteminrealtimeisaveryurgentthing.Withthiswebsiteasavectorsofalisting,theinformationofthehouseiseasiertospreadbetweenthetenantandthereservoir,reducingalotofunnecessarytroublesintheline.Thesystemcanprovidegoodservicetobothparties,providingservicesthroughoutthecountry,canbepostedbythelistingofthelistings,aftertheadministratorisreviewed,andtheadministratorauditcanensuretherealthingofthelist.Sexualityandsecurityhavegreatlyreducedtheproblemofhazardoushiddendangersforrentingpeople.Theinformationusednowismainlydividedintolandlordandtenants.Thelandlordcanreleasetheirhousetoprovideatotalrentandsharerentfortenantselection.Tenantscanpostarentalinformation,checkthelistings,feelsuitableContactingthelandlordforfollow-upconsultation.Theadministratorhasthepermissionsofmanaginguserlistings,messageinformation,andperformsdifferentoperationsonhousinginformation.UsingJavaBasicLanguage,Spring,SpringMVCisthebasebackendframe,JSP,JavaScriptasfront-endbaseframework,MybatisPlusforapersistentlayerframeworktoachievedisplay,addition,modification,deletion,andviewingofalist.Anddividedintotwomodulesinbackgroundmanagementandreception,backgroundsub-permissionsprovidedifferentfunctionsofadministrators,landlordsandtenantstofacilitatepersonalneeds,andthefrontdeskcanmaketenantstoquicklyunderstandtheirhousingprices.Geographiclocation,etc.Throughthesystemtenant,youcanquicklyfindsatisfactoryhousing,whichimprovestheefficiencyofrentingtherent.KEYWORDS:housetorent,java,spring,mybatisplus

第1章绪论1.1系统开发的背景现在,人类社会早已进入网络迅猛发展时代。为顺应当前发展形势,社会各方面都和网络紧密联系,使得大众生产生活有了巨大变化。在网络技术不断推动下,社会开始高速发展前行,一方面给各行各业发展提供更多机遇,另一方面使传统行业承受巨大压力,传统行业现在为了得到新的发展,需要积极引入互联网技术应用,彻底改善行业发展现状,但两者结合并非简单叠加在一起,主要依托互联网技术优点提高传统行业信息交互效率,为广大用户带来高效、便捷服务。简而言之,把系统管理信息推广至有关应用领域,方便需求者直接调用,最后用于支持传统行业信息交互共享,此即为该技术核心优势之一。有鉴于此,开发一种运用网络技术高效传递信息的平台,保证信息传递便捷性、广泛性与时效性等,可满足实践发展需求。1.2房屋出租系统的意义及必要性其实,商业信息系统一般都是具有交互功能的。当然,本房屋出租管理系统亦不例外。结合实际情况来看,交互功能把信息资源划分成静态、动态两类。静态部分包括房屋地址、大小、基础设施等更新次数较少资源,动态部分则包括房屋户型、价格等更新次数较多资源。如此一来,有利于商家、客户间信息交互,更轻松开展交易活动,最终达到双赢目标。首先,随着市场经济建设步伐日益加快,前往大城市寻找工作的年轻人的数量迅速增加,但有低收入者和新来的大学生并没有足够的资金直接买房,因此租房的需求就被大大的放大,这就推动了住房租赁的发展。因此,该系统设计具有重要的社会价值,同时也为未来的发展提供了技术支持。其次,现在流行的管理信息系统不仅需要较大的网页,也需要严格的页面计划,必须重视小环节。这样的话,能有效避免信息检索阶段出错行为。传统管理信息系统需要专业录入员把各种信息录入数据库,确保系统获得并管理这部分信息,若信息量相对不高,采用该方式能满足实际需求,且操作流程并不复杂。倘若信息量相对较高、专业性要求很高,那么录入操作不但占用大量时间,而且出错几率非常高。为规避这些问题,本文设计的解决方案主要通过在实际应用中构建相关数据库,使管理者能够及时上传和更新住房信息,使出租者能够更快地理解房屋租赁信息的细节。1.3国内外现状研究1.3.1国内现状研究一方面,中国城市化进程不断加快,进城工作学习的机会日益增多。另一方面,我国大学校园面积不断扩大,这将更多的学生能进入大学校园学习,使得更多的大学毕业生选择留在大城市中工作。目前,租赁者不断增加,房地产市场发展迅速,各大租赁网站层出不穷的情况都是这两个原因造成的。事实上,房屋租赁市场的发展并不是靠口水就能得到的,调查结果显示,中国国内的发展实际上经过了三个阶段。第一阶段是上世纪90年代,这个时代中国的房地产产业经历了狂暴的发展,很多人选择买房,所以房价越高,而没有买房能力的青年只能暂时租房。因此,很多人认为住宅租赁市场的快速崛起是由于房地产的快速发展而促进的,但是当时国内的网络技术和信息化水平随着房地产的快速发展而没有提高。因此,技术支持和市场发展背道而驰,网络信息技术不发达,在面对客户租赁住宅、做记录信息工作时,租赁公司仍然使用传统的手写方式进行记录。面对数据信息,查询信息时,租赁公司仍然采用传统的手工检索方式。显然,这种传统而低效的信息管理方式在人力、物力、管理成本等方面有相对较高的要求。第二阶段是中国加入WTO后,在这个阶段,我国房屋租赁市场的发展速度相当缓慢,国外房屋租赁市场已经采用相对先进的信息发送平台和相应的网络技术,同时在WTO中储蓄因此国外企业提出向我国国内房屋租赁市场提出技术挑战。这个挑战给了我国很大的冲击。我们不甘心于自始至终落后的国家,当我国国内企业意识到自己的房屋管理信息系统管理方式比较落后时,他们自己不断探索和探讨房屋管理信息系统的新网络技术。第三阶段是新世纪时代,在此期间,我国网络信息技术迅速发展,实现了前期的自我探索能力。如贝克找房、赶集网、58同城等等类似的,都是在这一时代的产物,大量互联网公司已然拥有网络各种关键技术,最终衍生出服务完善租赁公司,让用户获得一整套服务体验。进入该阶段后,我们大致实现第三方平台业务,有力推动国内市场迅猛进步,但此前国内房屋管理系统受到诸多因素掣肘,与平台业务的发展分离,这种分离的主要原因是各企业之间相对独立,没有数据共享。当时,我们的网络信息技术相应地提高了,数据挖掘也进行了,但是随着时代的发展,我们需要进一步提高。现在有以下问题。(1)公布的房屋信息不准确。因为大量租赁公司通过网络发布房屋信息与真实情况有着许多差异,缺少严格、有效管理,导致广大租户难以准确判断,甚至引发不必要纠纷事件。(2)信息化、专业化水平不足。现代化系统各方面均有严格要求,显而易见,当今房屋出租管理系统并未真正达到预期效果,还需进行合理优化与改进。(3)专业技术人才严重匮乏,有待进一步培养和补充。1.3.2国外现状研究据权威资料统计,95%美国住宅交易离不开MLS(MutipleListingService)支持,MLS作为美国第一大行业机构,中文译作“多重上市服务”,基本宗旨在于利用相关软件与网络技术,把系统内部各中介企业各项住宅源信息组合为集中互连系统,方便用户快速查询所需信息。想租房子的客人,只要输入想向不动产机构和中介公司的电脑终端租房子的特征,便能得到与之相匹配不动产信息,查看房屋地址,利用网站所提供实景图像与视频,能真实了解不动产外观、环境情况,确认房屋布局有无达到自身要求。若某家企业住宅源较少,无法挑选到自身满意房源,那么能继续访问MLS系统,查询检索与条件相匹配住宅源,若能进行交易,那么参与交易活动各企业将按一定比例分开。伴随MLS思想成功引入且不断推广,尤其MLS网络科技公司发布TOWER新大楼产品,提供大楼展示平台、销售导航系统等服务,可真正做到企业远程功能化销售管理,灵活运用多媒体展示技术,把视频、图像一体化,切实、全面反映出发明人的创意和大楼的优越性。第2章需求分析2.1可行性分析2.1.1经济可行性分析相较其它系统而言,本系统开发成本不高,将节省大量精力及资源,进而把注意力投入其它环节,促使开发质量更有保障。再者,对于计算机配置要求不高,普通服务器与桌面PC便能支持系统运行。本系统开发阶段均选择开源工具,能显著降低开发成本,而系统投入使用后,可满足各类用户实际需求,创造巨大社会经济效益。所以要满足经济的可行性。2.1.2技术可行性分析系统将IDEA作为开发平台,使用MySQL对数据库建立多个表结构,不但能分别管理各类信息,避免产生信息混乱问题,而且能在表间加入映射关系设计,开发语言选择Java,通过SSM框架降低整体实现难度。对于本次所选开发技术,主要原因在于OO语言使用流程并不复杂,目前凭借个人所需都能灵活运用,不会给实践操作造成阻碍,另外课堂学习阶段明确了Mysql、Java、SSM、JavaWeb等技术知识与用法。之后还自学了Spring、Mybatis等开放源代码框架,现在我们拥有如此多的且丰富的网络学习资源,在不会的时候可以搜索到相关教程并学习,加以实现,在技术上绝对可以。2.1.3操作可行性分析对于操作而言,这是相对简单的。现在我们所处的时代,人们已经很轻易的接触到电脑,家家户户都会有电脑和手机。良好的页面展示能让用户在接触到本系统的时候便可以了解到本系统的功能,用法和提供的信息,通过简易的选择便可以查询搜索到自己想要的信息。因此,操作可行性是完全可以的。2.1.4管理可行性分析由于是个人开发的简单的房屋租赁管理系统,功能的设计并不是很复杂,数据库的表设计的依赖性也相对简单,数据维护的问题可以由我个人解决。因此在管理可行性上是没有问题的。2.2用户需求分析为了使用户需求得到满足,本系统在设计主页面时,设置了拦截系统可以在用户不登录的情况下进行房屋信息的查询浏览。在用户实际登录过程中,为保证系统安全性,避免非法人士恶意操作,必须提前验证身份信息,具体验证时直接调用数据库进行匹配,确认库内有无这部分信息。如果有,那么继续验证密码能否匹配。当所有信息匹配一致时,就能正常登录系统,可以在页面使进行房屋的预定、收藏等一系列操作。若有任何信息匹配不一致,均无法正常登录系统,并立即产生错误提示,必须按提示内容重新输入准确信息。若当前并无合法账号登录,可以通过新注册成为该系统的用户,在注册时可以选择自己的角色时租户或者租客,以便可以更加直接的达成自己的目的。此外,使用本系统的应该有三类不同的人群,管理员:负责管理平台的用户、房屋、新闻等信息,租户:发布房屋提供租赁者选择,租客:来寻找合适自己的房屋的,所以在登录时系统会判别本次登录的用户的角色,然后再给角色展示不同的权限。2.3业务流程若一位用户想使用该系统,进入系统会首先看到的是选择自己想要租赁的类型,整租和合租之间选择。点击之后会进入相应的页面展示不同的房型信息,也可以点击进入查看该房型的相关具体信息,若想预定或者联系房东交谈细节,就必须要进行登陆操作。如果没有账号则需要进行注册,注册时可供选择角色是作为房东还是租客。登录之后在房屋详情页进行预定可进入房屋租赁合同的签订,同意合同签订之后进入支付页面,支付成功跳转到我的家,即可查看自己所租赁的房子。进入后台界面,都可进行个人信息修改和密码修改功能。房东角色可操作:(1)进行管理自己发布的房子和发布出租新房子;(2)查看自己的反馈记录;(3)能查看自己房子的订单、(4)查看自己发布的求租信息;(5)处理自己房子的留言。租客角色可操作:(1)查看自己所租的房间;(2)查看租房订单;(3)查看所收藏的房子信息;(4)查看自己发布的求租信息;(5)自我反馈和求租留言。管理员角色可操作:(1)进行房子的审核,审核成功之后方可上架;(2)删除房屋信息,但是对已经出租成功的房子不可进行删除;(3)修改房屋信息;(4)增加房屋信息;(5)对用户的账号信息的管理;(6)反馈管理;(7)求租管理;(8)留言管理。第3章相关技术介绍3.1SSMSSM(Spring+SpringMVC+MyBatis)框架集由Spring、SpringMVC和Mybatis框架的整合,作为一种标准MVC框架,可实现系统层次合理划分,主要包括View、Controller、Service、Dao层,通过SpringMVC支持请求传递与视图管理,Spring支持业务对象管理,Mybatis被当成数据持久化引擎。SpringSpring属于轻量级Java开发框架,发布者是RodJohnson,发布之初旨在克服企业级应用业务层与不同层次耦合难题。另外它也是分层JavaSE/JavaEEfull-stack开源框架,能让JavaApplication开发拥有整套基础架构,故而Java开发人员能够把更多精力投入Application开发上,维护开发质量。Spring核心宗旨在于简化企业级应用也就是Java开发过程。结合实际情况来看,它主要包含以下优点:①容易解耦,可降低开发难度;②AOP与声明式事务支持;③程序测试简单;④易于集成所有强大框架。SpringMVCSpringMVC是基于Spring的轻量级Web框架,严格遵循MVC模式思路,对Web层实施解耦,同时管控应用全生命周期,促使开发过程更加方便。SpringMVC拥有总开关DispatcherServlet;请求处理映射器与适配器,而视图解析器支持视图管控;动作处理器Controller接口,配置方便,在实践应用过程中,包含文件快速上传,数据简单转化等强大功能。MybatisMyBatis作为强大持久层框架,封装有数据库jdbc操作,开发人员仅仅注重SQL即可,不必投入大量时间考虑jdbc复杂过程代码,譬如注册驱动、生成connection、生成statement等,促使开发应用更加方便。Mybatis采取xml或注解方法合理配置所有statement,并且以java对象与statement中sql来映射创建所需sql语句,接着以mybatis框架运行sql,同时把结果映射为java对象再返回。3.2JSPJSP属于一种动态网页开发技术,发布者为sun企业,JSP主体在于将Java代码插于html页面,可以方便的和服务端进行交互。3.3BootStrapBootstrap作为目前最被认可HTML、CSS与JS框架,它的座右铭就是:简洁、直观、强悍的前端开发框架,让web开发更迅速、简单。3.4MySql数据库众所周知,MySQL是一款主流RDBMS产品,最早是由MySQLAB企业提出,目前则是Oracle集团技术产品,深受广大用户支持与信赖。MySQL作为常用RDBMS,也是WEB应用最理想RDBMS应用软件之一,适用范围非常宽广,已是大量系统开发项目优选对象。MySQL本质上属于RDBMS,换言之,可以把各类信息分类存储于各张表内,并非直接存储于大仓库中,有利于提升操作速度与灵活性,从而避免产生信息混乱问题。3.5IDEA工具IDEA是基于Java编程语言所实现IDE,拥有丰富而强大功能,譬如代码自动提示、重构、支持J2EE、JUnit、CVS整合、代码分析等等,因此受到广大程序员的欢迎。3.5运行环境操作系统:Windows10版本;开发工具:IntelliJIDEA2021.1.3;运行服务器:Tomcat9.0.59版本;Mysql数据库:5.7版本;Spring版本:Spring5;Maven构建工具:Maven3.8.4;MyBatis:MybatisPlus增强工具。第4章系统设计4.1系统的功能模块设计房屋出租管理系统在设计与开发时,主要考虑了以下几个方面:从管理员、租户和租客的市场需求,以及整体的业务流程。因此,把本系统根据权限划分为管理员、租户和租客三个不同的角色。4.1.1租赁者管理模块需求设计(1)用户注册功能:点击注册选项,会弹出对应操作界面,按照界面提示完善相关信息,包括用户名、油箱、密码、联系方式等,再由系统接收并验证,验证合格即可获得合法身份权限,方便执行后续登录与各项操作,同时也可杜绝非法人士登录系统。(2)用户登录功能:打开登录界面后,按照界面提示填写登录信息,此时系统会进行接收并验证,若验证失败,立即弹出错误提示,必须重新填写准确有效登录信息,直至验证通过为止。若验证成功,便能正常登录系统,执行自身权限允许的功能。(3)浏览房屋类型:实际操作过程中,能按照类型(整租/合租)来查找房屋,如出租类型、价格类型、城市所在地等等。(4)浏览平台房屋信息功能:按照需求能快速浏览全部房屋信息,包括房屋的基础设施、图片、地址、户型、大小等等信息。(5)房屋租赁功能:用户可以对自己看中的房屋进行预约申请,之后可以签订合同支付资金便可拥有自己的房屋。(6)用户进行反馈:用户可以在平台进行反馈,发表自己的合理想法和平台需要改进的意见给管理员。(7)用户进行留言:用户可以在每个房屋底下进行留言,发表自己对该房屋的看法。(8)后台管理:用户可以在后台管理自己所买的房屋,订单信息,留言和个人信息进行修改。4.1.2租户模块需求设计(1)租户登录功能:租户可以使用租户账号登录到本系统进行相关操作。(2)租户个人信息管理:按照需求灵活管理个人信息,维护信息真实性与完整性。(3)房屋管理:租户能够将个人房屋信息发布于系统上,按照需求执行添、删、改、查等管理操作,如果房屋成功出租,那么对应信息无法删除。(4)用户订单管理:也就是管理各用户订单信息。(5)留言管理:能够浏览用户在自己的房屋底下的留言并处理。4.1.3管理员模块需求设计(1)管理员登录模块:点击后台登录界面,按照界面提示填写账号、密码,由系统接收并验证,验证通过便能正常访问系统后台,调用各项管理功能。 (2)管理员管理:按照需求能够修改个人账号信息,保证信息真实性与完整性。(3)用户管理:按照需求能够管理、查看用户信息,若发现异常用户,能直接禁用权限,此时这类用户便不能登陆到该系统中,促使系统运行更安全。(4)资讯管理:管理员可以发布或删除最近的新闻资讯。(5)房屋管理:管理员能够查看房屋的图片、位置、介绍、价格,也可以修改租户提供的房屋信息,审核租户所提出的房屋商家申请,删除房屋(已经出租的房屋不可以删除)。(6)用户反馈管理:管理员可以查看用户所提出的反馈意见,并回复。(7)用户留言管理:用户正常留言后,会发送到后台,管理员经审阅执行回复操作,借此满足双方沟通需求。(8)用户订单管理:即管理用户各种租赁订单信息。(9)求租管理:即管理用户求租信息,若发现异常信息,能执行删除操作。4.2数据库设计数据库是系统运行不可或缺重要基础,设计好坏会给后续维护、更新造成直接影响,优秀设计能够改善运行效率,加快信息查询响应速度,因此是整个系统开发阶段重要内容。通过科学、有效设计,能够简化网页与Java代码,降低整体实现难度,改善信息存储效率,维护信息完整、一致。经综合对比分析,按照实际情况考虑,本次决定选择MySQL作为背景数据库开发工具。4.3数据库表设计从系统的设计需求出发,我针对不同的模块设计了不同的数据表来存储不同的数据信息。具体有以下数据表:用户表(t_user),房屋信息表(t_house),订单表(t_order),新闻表(t_news),文章信息表(t_post),收藏表(t_mark),反馈表(t_feedback),交流表(t_comment)。(1)用户表(t_user)用户表中存储的是所有的用户信息,包括管理员,租户和租客。主要的键包含用户id,创建时间(create_time),用户名(user_name),用户昵称(user_display_name),手机号(phone),电子邮箱(email),用户密码(user_pass),身份证(id_card),头像(user_avatar),个人描述(user_desc),账号状态(status),角色(role),性别(sex),兴趣爱好(hobby),职业(job)。用户表详情信息如图1-1所示:图1-1用户表详细信息(2)房屋信息表(t_house)房屋信息表中存储的是所有已经上架的房屋信息。其中包含id,创建时间(create_time),房东id(user_id)作为外键与用户表中的id关联,出租类型(rent_type)整租(whole)/合租(share),房屋名称(title),详细描述(content),城市(city),地址(address),房屋展示图片(thumbnail_url,slide_url),月租金 (month_rent),状态(status)是否已经出租,房产证号(certificate_no),卫生间数量(toilet_num)等房屋内部设施,联系人姓名(contact_name),联系人手机号(contact_name)。房屋表详情信息如图1-2所示:图1-2房屋表详细信息(3)订单表(t_order)订单表中存储的是所有已经成功租出的房子信息。键值包含订单id,创建时间(create_time),租客ID(customer_user_id),房东ID(owner_user_id),订单状态(status),房子id(house_id),月租金(month_rent),租住日期(day_num),总金额(total_amount),开始日期(start_date),结束日期(end_date)。租客ID和房东ID作为外键与用户表链接,房子ID作为外键与房屋表链接。订单表详细信息如图1-3所示:图1-3订单表详细信息(4)新闻表(t_news)新闻表中主要存储管理员发布的新闻资讯。有新闻id,创建时间(create_time),新闻标题(title),摘要(summary),内容(content)。新闻表详细信息如图1-4所示:图1-4新闻表详细信息(5)文章信息表(t_post)文章信息表主要存储用户发布的求租信息。有求租信息id,创建时(create_time),标题(title),摘要(summary),内容(content),用户id。用户id作为外键与用户表相连接。文章表详细信息如图1-5所示:图1-5文章表详细信息(6)收藏表(t_mark)主要负责保存用户收藏信息,包括收藏、用户、房屋id与创建时间。用户与屋id各自以外键形式关联对应表。收藏表详细信息如图1-6所示:图1-6收藏表详细信息(7)反馈表(t_feedback)反馈表中存储用户对该系统的反馈意见。包含反馈id,创建时间(create_time),标题(title),反馈内容(content),用户id,处理状态(status),回复内容(reple),联系人姓名(contact_name),联系人邮箱(contact_email)。反馈表详细信息如图1-7所示:图1-7反馈表详细信息(8)交流表(t_comment)交流表存储管理员和用户的交流信息。主键id,创建时间(create_time),内容(content),用户id,文章id(post_id),文章、用户id被当作外键分别和对应表关联。交流表详细信息如图1-8所示:图1-8交流表详细信息数据库整体依赖关系如图1-9所示:除新闻表外,所有的数据库表都以外键的形式和用户表所关联文章信息表(t_post)、房屋表(t_house)、反馈表(t_feedback)、订单表(t_order)、交流表(t_comment)、收藏表(t_mark)中user_id列和用户表中的id列相关联。其中订单表中分为租户id和租客id。图1-9数据库整体依赖关系第5章系统详细设计5.1系统首页的实现首页效果展示图如下:首页采用HTML+CSS+JS+JSP的主要技术实现,首页顶部固定了一个头部的信息,主要存放一些超链接。用户在首次进入该页面时是不需要登录的,用户可以根据自己的兴趣点击顶部超链接会跳转到不同的页面浏览。顶部栏右边设置两个按钮,供用户登录和注册。首页中间设置了一个搜索框,用户可以根据自己的需求进行搜索。首页下方分别展示了整租和合租的6个房屋,点击显示的图片即可进入该房屋展示详情页。(1)主页头部设计头部设计了本系统的logo,点击logo和首页都可以跳转到首页。之后分别是整租,合租,求租,新闻资讯,用户反馈的超链接。右边设置两个超链接按钮,点击对应按钮可以弹出悬浮的登录框和注册框。为了使页面更加整洁美观,给头部设置了固定悬浮,跳转到任何相关子页面都会头部存在。在每个页面中注入下方代码,引入该头部jsp文件<%@pagecontentType="text/html;charset=UTF-8"language="java"%><%@tagliburi="/jsp/jstl/core"prefix="c"%><%@tagliburi="/jsp/jstl/fmt"prefix="fmt"%><%@tagliburi="/jsp/jstl/functions"prefix="fn"%><%@includefile="../common/head.jsp"%>(2)登录按钮设计点击注册按钮会弹出如下的登录框:引入了BootStrp的模态框生成了此样式,其中添加了两个input输入框可以填写账号和密码,1个button选项方便执行登录操作。按照实际情况填写登录信息再点击button选项,前台会发起一个post请求,调用后台控制层的登录功能来校验,控制层调用业务层处理,再调用持久层完成搜索校验,首先必须判断有无该账号,若有,按照账号进行输入密码匹配,之后再进行用户是否禁用判断,都符合要求之后才能登陆成功。代码如下:@RequestMapping(value="/login/submit",method=RequestMethod.POST)@ResponseBodypublicJsonResultloginSubmit(@RequestParam("userName")StringuserName,@RequestParam("userPass")StringuserPass,HttpSessionsession){if(StringUtils.isEmpty(userName)||StringUtils.isEmpty(userPass)){returnJsonResult.error("用户名或密码不能为空");}//查询用户名是否存在Useruser=userService.findByUserName(userName);if(user==null){returnJsonResult.error("用户不存在");}//判断密码是否正确if(!Objects.equals(user.getUserPass(),userPass)){returnJsonResult.error("密码错误");}//判断用户是否禁用if(Objects.equals(user.getStatus(),UserStatusEnum.DISABLE.getValue())){returnJsonResult.error("账号已被冻结,请联系管理员");}//登录成功session.setAttribute(Constant.SESSION_USER_KEY,user);returnJsonResult.success("登录成功");}(3)注册按钮设计点击注册按钮会弹出如下注册框:注册框同登录框进行判断校验之后,如果符合要求则注册成功,注册时可以选择身份成为租客或者租户。注册框设置了默认的校验规则,对手机号和邮箱都有规则约束。注册代码如下:@RequestMapping(value="/register/submit",method=RequestMethod.POST)@ResponseBodypublicJsonResultregisterSubmit(@RequestParam("userName")StringuserName,@RequestParam("userPass")StringuserPass,@RequestParam("userDisplayName")StringuserDisplayName,@RequestParam("email")Stringemail,@RequestParam("phone")Stringphone,@RequestParam("role")Stringrole,HttpSessionsession){//判断用户名长度是否合法if(userName.length()<4||userName.length()>20){returnJsonResult.error("用户名长度不合法");}//判断姓名长度是否合法if(userDisplayName.length()<2||userDisplayName.length()>20){returnJsonResult.error("姓名长度不合法");}//判断邮箱长度是否合法if(email.length()<5||email.length()>50){returnJsonResult.error("邮箱长度不合法");}//判断手机长度是否合法if(phone.length()!=11){returnJsonResult.error("手机长度不合法");}//查询用户名是否存在Useruser=userService.findByUserName(userName);if(user!=null){returnJsonResult.error("用户已占用");}//用户名不存在,则注册用户user=newUser();user.setUserName(userName);user.setUserDisplayName(userDisplayName);user.setPhone(phone);user.setEmail(email);user.setUserAvatar("/assets/img/default-avatar.jpg");user.setUserPass(userPass);user.setRole(role);user.setCreateTime(newDate());user.setSex("保密");user.setHobby("还没有填写!");user.setUserDesc("还没有填写!");user.setJob("其他");try{userService.insert(user);}catch(Exceptione){e.printStackTrace();returnJsonResult.error("注册失败");}//注册成功,直接登录成功session.setAttribute(Constant.SESSION_USER_KEY,user);returnJsonResult.success("注册成功");}5.2房屋页面的展示(整租/合租)点击整租/合租会跳转到查询相关页面,进入该页面会默认调用分页查询方法,可以根据用户的需求,进行调整城市,价格等进行模糊查询。房屋分页查询相关代码:@RequestMapping("/house")publicStringhouseList(HouseSearchVOhouseSearchVO,Modelmodel){Pagepage=PageUtil.initMpPage(houseSearchVO.getPage(),houseSearchVO.getSize());//查询房子信息Page<House>housePage=houseService.getHousePage(houseSearchVO,page);model.addAttribute("pageInfo",housePage);model.addAttribute("houseSearchVO",houseSearchVO);model.addAttribute("pagePrefix",houseSearchVO.getPagePrefix());return"front/house-list";}5.3房屋详情页展示点击任意一个房屋可进入房屋详情页,用户点击之后会发送请求调用后台的根据id查询方法,从数据库中查询到之后再发送给前端,前端通过接受处理将房屋信息展示到页面中。右边设置了一个预定房屋的布局,点击收藏房屋信息会被记录进房屋收藏表,在后台我的收藏中可以查看相关信息。预定房屋设置了一个需要登陆的拦截器,未登录状态下点击预定会默认打开登录窗口。房屋展示页根据id查询相关代码:@RequestMapping("/house/detail/{id}")publicStringsearch(@PathVariable("id")Longid,Modelmodel){//查询房子Househouse=houseService.get(id);if(house==null){returnthis.renderNotFound();}//处理轮播图URLList<String>slideList=JSON.parseArray(house.getSlideUrl(),String.class);house.setSlideImgList(slideList);//查询房子的出租者Userowner=userService.get(house.getUserId());model.addAttribute("owner",owner);//如果是合租,查询合租房子List<House>shareHouseList=houseService.findByUserIdAndCertificateNoAndRentType(house.getUserId(),house.getCertificateNo(),HouseRentTypeEnum.SHARE.getValue());for(HousehouseTemp:shareHouseList){OrdercurrentOrder=orderService.getCurrentEffectiveOrder(houseTemp.getId());if(currentOrder!=null){currentOrder.setCustomerUser(userService.get(currentOrder.getCustomerUserId()));}houseTemp.setCurrentOrder(currentOrder);}house.setShareHouseList(shareHouseList);model.addAttribute("house",house);return"front/house-detail";}联系房东标签,会让用户填写自己的信息,此功能也需要登录之后操作,点击发送会给房东发送邮件。5.4求租信息页用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论