版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
基于Javaweb的房屋出租管理系統(tǒng)設(shè)計與實現(xiàn)摘要隨著社會的不斷進步,房子的角色從單純的住宅變得商品化,住房又是人類的必需品,經(jīng)常在外面工作或者長期出差的工薪階級沒有房屋的人只能去租房居住,這使得房屋出租業(yè)的工作量、業(yè)務(wù)量很大。房屋出租管理系統(tǒng)不管是為管理者還是租客都提供了一個非常便捷的平臺,租客能快速的了解房屋的信息,出租者也能快速的把自己的房屋信息讓更多的客戶知曉。房屋出租管理系統(tǒng)是基于Javaweb技術(shù),數(shù)據(jù)庫選擇MySQL數(shù)據(jù)庫,開發(fā)工具使用EclipseJ2EE,開發(fā)環(huán)境是JDK1.9,使用Tomcatweb服務(wù)器,實現(xiàn)了登陸注冊、房屋發(fā)布、房屋管理、租客租房等功能,使房屋出租管理更加規(guī)范、更加便捷,提高了工作效率。關(guān)鍵詞:房屋出租管理系統(tǒng);Javaweb;MySQL;EclipseJ2EE;JDK1.9;Tomcat目錄TOC\o"1-3"\h\u169861.設(shè)計背景及意義 設(shè)計背景及意義1.1設(shè)計背景現(xiàn)在很多的房屋出租的管理者大多都是使用最原始的記錄方式紙張來記錄房屋出租信息,這樣的話管理者的工作量非常大,在這飛速發(fā)展的時代,智能化、信息化是社會的潮流,而原始的操作方式效率低下,容易出現(xiàn)誤差,不易找出錯誤,數(shù)據(jù)的匯總、更新不及時,容易丟失、不易保存、數(shù)據(jù)保密性差,損壞數(shù)據(jù)帶來不必要的損失1.2設(shè)計意義房屋出租管理系統(tǒng),能夠讓房屋出租的管理工作變得規(guī)范,提高管理者的工作效率,使得管理工作變得簡單、程序化、系統(tǒng)化,提高房屋信息更改的速度和準確性,能快速、準確、高效的查詢、修改房屋等基本信息。2.設(shè)計思路對現(xiàn)在房屋出租管理的現(xiàn)狀和發(fā)展分析,查看房屋出租的各種調(diào)查報告,找出現(xiàn)在房屋出租的特點、特色,還要了解現(xiàn)在房屋出租在管理中的缺點和不足,結(jié)合兩者對房屋出租管理系統(tǒng)的架構(gòu)進行分析。憑借對房屋出租管理的分析以及了解,根據(jù)功能模塊劃分,畫出流程圖、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)字典,然后對電腦需要的軟件EclipseJ2EE、Tomcat、JDK、VSCode進行安裝以及各種的環(huán)境變量的配置。最后進行系統(tǒng)的設(shè)計與實現(xiàn)、系統(tǒng)測試。 3.系統(tǒng)分析與實現(xiàn)3.1系統(tǒng)功能分析3.1.1基本功能需求 該系統(tǒng)實現(xiàn)了房屋出租的基本需求,實現(xiàn)了以下的幾個主要功能:注冊:租客需要注冊時提交真實的身份證號碼以及姓名,管理者需要提供房產(chǎn)證明證實有房出租的證明。登陸:租客和管理者有不同登陸方式,需要用戶的賬號、密碼是否與數(shù)據(jù)庫里的數(shù)據(jù)匹配。后臺管理:發(fā)布的房屋信息,對自己發(fā)布的房屋信息進行管理,以及對租用自己房屋的租客信息進行管理。租客租房:可以查看房屋信息,對房屋進行篩選,選擇適合自己的房屋進行租用。3.1.2功能模塊圖3.1房屋管理系統(tǒng)功能模塊圖注冊模塊:管理者和租客自身信息的記錄。登錄模塊:選擇管理者和租客不同的登錄方式進入不同的需求模塊。房屋信息發(fā)布模塊:主要是為管理者設(shè)計,管理者對需要出租的房屋進行信息錄用并進行發(fā)布。房屋信息管理模塊:該模塊是對房屋信息進行管理和操作,可以對錯誤的房屋信息進行修改、刪除。租客信息管理模塊:該模塊是管理者對租用自己房屋的租客信息進行管理。查看房屋信息模塊:主要為租客用戶使用,租客可以查看所有管理者發(fā)布的房屋信息。篩選房屋信息模塊:方便租客快速查詢適合自己的房屋信息。租用房屋模塊:對租客自己喜歡的房屋進行租用。3.2系統(tǒng)設(shè)計系統(tǒng)實現(xiàn)平臺1.開發(fā)工具以及環(huán)境:EclipseJ2EE:Java代碼實現(xiàn)工具VsCode:前端代碼編寫工具數(shù)據(jù)庫:MySqlTomcat:服務(wù)器Jdk:1.80_25Jre:1.80_211開發(fā)語言前端:Java后端:Jsp、Js、Html、Css數(shù)據(jù)庫設(shè)計使用MySql數(shù)據(jù)庫,MySql數(shù)據(jù)庫是一個關(guān)系型數(shù)據(jù)庫系統(tǒng),MySql數(shù)據(jù)庫的性能高、成本低、可靠性好。使用Navicat軟件進行數(shù)據(jù)庫設(shè)計,設(shè)計步驟:物理設(shè)計(設(shè)計出需要的實體),E-R模式設(shè)計(設(shè)計各實體的E-R模型設(shè)計圖),表字段設(shè)計(設(shè)計表和字段以圖表形式展出)物理設(shè)計從需求分析可知,本系統(tǒng)需要需要以下幾個實體管理員實體:管理員ID、用戶名、密碼、姓名、身份證號嗎、電話號碼租客實體:租客ID、用戶名、密碼、姓名、身份證號碼、電話號碼出租房實體:出租房ID、編號、出租房類型、面積、地址、狀態(tài)、租金、說明管理者-租客實體:ID、管理員ID、租客ID租客-出租房實體:ID、租客ID、出租房ID管理者-出租房實體:ID、管理者ID、出租房IDE-R模式設(shè)計根據(jù)物理設(shè)計可以得到各個實體E-R模型設(shè)計圖及各子系統(tǒng)E-R模型圖管理員實體E-R圖如圖3-1所示圖3-1管理員實體E-R圖租客實體E-R圖如圖3-2所示圖3-2租客實體E-R圖出租房實體E-R圖如圖3-3所示圖3-3出租房實體E-R圖(4)管理者-租客實體E-R圖如3-4所示圖3-4管理者-租客實體E-R圖(5)租客-出租房實體E-R圖如3-5所示圖3-5租客-出租房實體E-R圖(6)管理者-出租房實體E-R圖如3-6所示圖3-6管理者-出租房實體E-R圖表/字段以及表之間的關(guān)系管理員信息表表3-1管理員信息表字段名數(shù)據(jù)類型數(shù)據(jù)長度是否為空說明KeyIdInt11Notnull管理員ID主鍵managernamevarcharNotnull用戶名passwordvarcharNotnull密碼namevarcharNotnull姓名idcardcamevarcharNotnull身份證號碼phonenumvarcharNotnull電話號碼租客信息表表3-2租客信息表字段名數(shù)據(jù)類型數(shù)據(jù)長度是否為空說明KeyIdInt11Notnull租客ID主鍵usernamevarchar225Notnull用戶名passwordvarchar225Notnull密碼namevarchar225Notnull姓名idcardcamevarchar225Notnull身份證號碼phonenumvarchar225Notnull電話號碼出租房信息表表3-3出租房信息表字段名數(shù)據(jù)類型數(shù)據(jù)長度是否為空說明KeyidInt11Notnull出租房ID主鍵numbervarchar225Notnull編號addressvarchar225Notnull地址roomtypeInt11Notnull房屋類型sizevarchar225Notnull面積conditionsInt11Notnull狀態(tài)rentvarchar225Notnull租金explainsvarchar225Notnull說明管理者-租客信息表表3-4管理者-租客信息表字段名數(shù)據(jù)類型數(shù)據(jù)長度是否為空說明KeyidInt11Notnull管理者-出租ID主鍵manageridInt11Notnull管理者ID外鍵useridInt11Notnull租客ID外鍵租客-出租房信息表表3-5租客-出租房信息表字段名數(shù)據(jù)類型數(shù)據(jù)長度是否為空說明KeyidInt11Notnull租客-出租房ID主鍵roomidInt11Notnull出租房ID外鍵useridInt11Notnull租客ID外鍵管理者-出租房信息表表3-6管理者-出租房信息表字段名數(shù)據(jù)類型數(shù)據(jù)長度是否為空說明KeyidInt11Notnull管理者-出租房ID主鍵manageridInt11Notnull管理者ID外鍵roomidInt11Notnull出租房ID外鍵框架設(shè)計以及技術(shù)前端:bootstrap、JavaScript后端:servlet、Jdbc系統(tǒng)實現(xiàn)3.3.1功能實現(xiàn)1注冊功能request.setCharacterEncoding("utf-8"); Stringtype=request.getParameter("type"); if("register".equals(type)){ Stringusername=request.getParameter("UserName"); Stringname=request.getParameter("Name"); Stringpassword=request.getParameter("Password"); Stringidcardcame=request.getParameter("IdCardCame"); Useruser=newUser(username,name,password,idcardcame); try{ if(service.register(username)&&service.register(user)){ Stringresult="注冊成功??!"; request.setAttribute("result",result); }else{ Stringresult="用戶名已存在,請重新注冊??!"; request.setAttribute("result",result); } request.getRequestDispatcher("register.jsp").forward(request,response); }catch(Exceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } }2登錄功能if("login".equals(type)){ Stringradio=request.getParameter("user"); if("common".equals(radio)){ Stringusername=request.getParameter("UserName"); Stringpassword=request.getParameter("Password"); Useruser=newUser(); user.setUsername(username); user.setPassword(password); try{ if(service.userlogin(username,password)){ Stringuser1="user"; request.setAttribute("usertype",user1); request.setAttribute("username",username); request.getRequestDispatcher("DisplayServlet?type=homepage").forward(request,response); }else{ Stringresult="登陸失?。。?; request.setAttribute("result",result); request.getRequestDispatcher("login.jsp").forward(request,response); } }catch(Exceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } } if("manage".equals(radio)){ Stringusername=request.getParameter("UserName"); Stringpassword=request.getParameter("Password"); Managermanager=newManager(); manager.setManagername(username); manager.setPassword(password); try{ if(service.managerlogin(username,password)){ Stringmanager1="manager"; request.setAttribute("usertype",manager1); request.getRequestDispatcher("DisplayServlet?type=homepage").forward(request,response); }else{ Stringresult="登陸失?。?!"; request.setAttribute("result",result); request.getRequestDispatcher("login.jsp").forward(request,response); } }catch(Exceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } } }3房屋發(fā)布管理功能if("delete".equals(type)){ Stringid=request.getParameter("id"); Stringresult=null; try{ if(service.delete(id)){ result="刪除成功??!"; }else{ result="刪除失敗??!"; } request.setAttribute("result",result); List<Room>list=service.getAllRoom(); request.setAttribute("roomList",list); request.getRequestDispatcher("manager.jsp").forward(request,response); }catch(Exceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } } if("insert".equals(type)){ Stringnumber=request.getParameter("number"); Stringaddress=request.getParameter("address"); Stringroomtype=request.getParameter("roomtype"); floatsize=Float.parseFloat(request.getParameter("size")); Stringcondition=request.getParameter("condition"); floatrent=Float.parseFloat(request.getParameter("rent")); Stringexplain=request.getParameter("explain"); Roomroom=newRoom(0,number,address,roomtype,size,condition,rent,explain); Stringresult=null; try{ if(service.insert(room)){ result="添加成功??!"; }else{ result="添加失?。。?; } request.setAttribute("result",result); List<Room>list=service.getAllRoom(); request.setAttribute("roomList",list); request.getRequestDispatcher("manager.jsp").forward(request,response); }catch(Exceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } } if("edit".equals(type)){ Stringid=request.getParameter("id"); List<Room>list=null; try{ list=service.getIdRoom(id); }catch(SQLExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } request.setAttribute("roomList",list); request.getRequestDispatcher("update.jsp").forward(request,response); } if("update".equals(type)){ intid=Integer.parseInt(request.getParameter("id")); Stringnumber=request.getParameter("number"); Stringaddress=request.getParameter("address"); Stringroomtype=request.getParameter("roomtype"); floatsize=Float.parseFloat(request.getParameter("size")); Stringcondition=request.getParameter("condition"); floatrent=Float.parseFloat(request.getParameter("rent")); Stringexplain=request.getParameter("explain"); Roomroom=newRoom(id,number,address,roomtype,size,condition,rent,explain); Stringresult=null; try{ if(service.update(room)){ result="修改成功??!"; }else{ result="修改失?。。?; } request.setAttribute("result",result); List<Room>list=service.getAllRoom(); request.setAttribute("roomList",list); request.getRequestDispatcher("manager.jsp").forward(request,response); }catch(SQLExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } }4租客租房功能if("hire".equals(type)){ Stringid=request.getParameter("id"); Stringusername=request.getParameter("username"); Stringnumber=request.getParameter("number"); Stringcondition=request.getParameter("condition"); Stringresult=null; if(condition.equals("已租用")){ result="該房已被租用"; }else{ try{ if(service.updatecondition(id)){ } result="租用成功"; }catch(Exceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } } List<Room>list=null; try{ list=service.getAllRoom(); }catch(SQLExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } request.setAttribute("roomList",list); request.setAttribute("result",result); request.getRequestDispatcher("index.jsp").forward(request,response); }3.3.2界面實現(xiàn)1、登錄界面如圖3-7所示圖3-7登錄界面2、注冊頁面如圖3-8所示圖3-8注冊界面3、管理者后臺界面如圖3-9所示圖3-9管理員界面4、管理者后臺修改界面如同3-10所示圖3-10管理員后臺修改界面5、租客租房界面如圖3-11所示圖3-11租客租房界面4.系統(tǒng)測試4.1測試目的系統(tǒng)測試是為了查看該系統(tǒng)所設(shè)計的功能模塊是否能正常運行,在系統(tǒng)操作過程中是否存在錯誤或者存在瑕疵,而系統(tǒng)測試的目的是為了保證系統(tǒng)的質(zhì)量,在系統(tǒng)測試中發(fā)現(xiàn)的問題和錯誤進行總結(jié),并且進行修改,以保證系統(tǒng)能夠正常的運行,保證系統(tǒng)的質(zhì)量。4.2測試內(nèi)容注
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 放射科管理制度大全
- 公共設(shè)施管理制度
- 鄉(xiāng)鎮(zhèn)衛(wèi)生院節(jié)水制度
- 食堂水電氣衛(wèi)生制度
- 衛(wèi)生室醫(yī)生定期考核制度
- 衛(wèi)生管理及組織制度
- 衛(wèi)生院傳染病保密制度
- 校園衛(wèi)生大清整制度
- 生態(tài)園園區(qū)衛(wèi)生整頓制度
- 衛(wèi)生院費用清單制度
- 《筑牢安全防線 歡度平安寒假》2026年寒假安全教育主題班會課件
- 信息技術(shù)應(yīng)用創(chuàng)新軟件適配測評技術(shù)規(guī)范
- 養(yǎng)老院老人生活設(shè)施管理制度
- 2026年稅務(wù)稽查崗位考試試題及稽查實操指引含答案
- (2025年)林業(yè)系統(tǒng)事業(yè)單位招聘考試《林業(yè)知識》真題庫與答案
- 2026版安全隱患排查治理
- 道路施工安全管理課件
- 2026年七臺河職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性考試備考題庫有答案解析
- 肉瘤的課件教學(xué)課件
- 辦公樓電梯間衛(wèi)生管理方案
- 新生兒休克診療指南
評論
0/150
提交評論