基于bs結(jié)構(gòu)的房屋出租管理系統(tǒng)計算機科學(xué)與技術(shù)_第1頁
基于bs結(jié)構(gòu)的房屋出租管理系統(tǒng)計算機科學(xué)與技術(shù)_第2頁
基于bs結(jié)構(gòu)的房屋出租管理系統(tǒng)計算機科學(xué)與技術(shù)_第3頁
基于bs結(jié)構(gòu)的房屋出租管理系統(tǒng)計算機科學(xué)與技術(shù)_第4頁
基于bs結(jié)構(gòu)的房屋出租管理系統(tǒng)計算機科學(xué)與技術(shù)_第5頁
已閱讀5頁,還剩45頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

畢業(yè)設(shè)計(論文)基于B/S結(jié)構(gòu)的房屋出租管理系統(tǒng)計算機科學(xué)與技術(shù)2023年6月30號畢業(yè)論文基于B/S結(jié)構(gòu)的房屋出租管理系統(tǒng)學(xué)生:指導(dǎo)教師:專業(yè):計算機科學(xué)與技術(shù)所在單位:答辯日期:2023年6月30日目錄摘要 IAbstract II第1章緒論 11.1課題研究的背景介紹 11.2系統(tǒng)開發(fā)環(huán)境及開發(fā)平臺介紹 21.2.1系統(tǒng)開發(fā)環(huán)境 21.2.2系統(tǒng)開發(fā)平臺簡介 2第2章系統(tǒng)開發(fā)技術(shù)介紹 52.1系統(tǒng)的B/S結(jié)構(gòu) 52.1.1B/S結(jié)構(gòu)簡介 52.1.2B/S架構(gòu)軟件的優(yōu)勢與劣勢 62.1.3B/S框架與C/S框架的聯(lián)系與區(qū)別 72.2JSP技術(shù)概述 82.2.1JSP簡介 82.2.2JSP技術(shù)的強勢與弱勢分析 92.2.3JSP動態(tài)網(wǎng)站開發(fā)技術(shù) 102.3MVC及Struts介紹 122.3.1MVC介紹 12HYPERLINK第3章系統(tǒng)分析 153.1任務(wù)描述 153.2用UML用例圖描述系統(tǒng)需求 153.2.1用例圖簡介 153.2.2系統(tǒng)用例分析 163.3功能分析 16第4章系統(tǒng)的設(shè)計與實現(xiàn) 184.1數(shù)據(jù)庫的設(shè)計與實現(xiàn) 184.1.1數(shù)據(jù)庫SQLServer2023簡介 184.1.2數(shù)據(jù)庫結(jié)構(gòu)設(shè)計 194.2.3數(shù)據(jù)庫加載和調(diào)試 214.2.4操作數(shù)據(jù)庫 224.2功能模塊的設(shè)計與實現(xiàn) 234.2.1系統(tǒng)注冊模塊 234.2.2系統(tǒng)登錄模塊 244.2.3普通用戶功能模塊 244.2.4管理員功能模塊 254.2.5信息發(fā)布模塊 264.2.6信息查詢模塊 27第5章系統(tǒng)測試與維護 285.1系統(tǒng)測試 285.2網(wǎng)站維護 305.2.1維護內(nèi)容 305.2.2維護方案 31結(jié)束語 32致謝 33參考資料 34摘要21世紀(jì),隨著計算機科學(xué)的發(fā)展,數(shù)據(jù)庫技術(shù)在Internet中的應(yīng)用越來越廣泛,為廣大網(wǎng)絡(luò)用戶提供了更加周到和人性化的服務(wù)。個性化已逐漸成為當(dāng)今Wed應(yīng)用的潮流。如何通過網(wǎng)絡(luò)有效進行交流是擺在我們面前的一個新的領(lǐng)域。本文闡述了如何構(gòu)造一個B/S結(jié)構(gòu)的房屋出租管理系統(tǒng),對B/S結(jié)構(gòu)、JSP技術(shù)以及SQLServer原理進行了較進一步的論述。闡述了對房屋出租管理系統(tǒng)的需求分析、功能模塊劃分、數(shù)據(jù)庫模式分析,功能模塊的實現(xiàn)過程。在此基礎(chǔ)上,對所應(yīng)用的關(guān)鍵技術(shù)進行描述。最后,對程序調(diào)試與調(diào)試結(jié)果進行論述。本文在研究目前國內(nèi)外房屋出租管理系統(tǒng)情況的基礎(chǔ)上,從實際需求出發(fā),采用當(dāng)前較為流行的B/S(Browser/Server瀏覽器/服務(wù)器)結(jié)構(gòu)和JSP動態(tài)網(wǎng)頁開發(fā)技術(shù),基于WindowsXPProfessional操作系統(tǒng)和SQLServer2023數(shù)據(jù)庫,采用JSP技術(shù),設(shè)計并實現(xiàn)了一個功能較為完善的房屋出租管理系統(tǒng)。通過對系統(tǒng)進行一系列的需求分析、設(shè)計、編碼、測試等工作,該系統(tǒng)普通用戶可以瀏覽、查看房屋信息,可以注冊成為網(wǎng)站會員、登陸網(wǎng)站,然后發(fā)布個人房屋信息,還可以查看該網(wǎng)站的新聞公告等,管理員可以對網(wǎng)站會員、房屋信息以及網(wǎng)站的新聞公告進行管理。重點對系統(tǒng)設(shè)計過程作了相應(yīng)描述,同時也對系統(tǒng)需要改善的地方做了總結(jié)。本系統(tǒng)結(jié)合因特網(wǎng)的發(fā)展、應(yīng)用現(xiàn)狀,采用了基于WEB的三層體系架構(gòu),即瀏覽器——WEB應(yīng)用服務(wù)器——數(shù)據(jù)庫服務(wù)器。通過對系統(tǒng)工作流程進行具體需求分析,建立了系統(tǒng)的功能模型和數(shù)據(jù)流模型。擬定系統(tǒng)的數(shù)據(jù)模型為關(guān)系數(shù)據(jù)模型,進行了分析、設(shè)計、畫出了E-R圖。后臺數(shù)據(jù)庫選用了SQLServer2023來實現(xiàn)。WEB開發(fā)采用當(dāng)前流行的JSP(JavaServerPages,動態(tài)網(wǎng)頁技術(shù))技術(shù),JSP頁面通過JDBC(JavaDatabaseConnectivity,Java數(shù)據(jù)庫連接)接口連接SQLServer2023數(shù)據(jù)庫,實現(xiàn)了瀏覽器端和服務(wù)器端的程序。系統(tǒng)通過測試,運營效果穩(wěn)定、操作方便、快捷。能較好的為該系統(tǒng)的房屋出租、求租用戶服務(wù)。關(guān)鍵詞B/S結(jié)構(gòu);JDBC連接;SQLServer2023;AbstractAlongwiththedevelopmentofthecomputersciencein21centuries,thedatabasetechniqueismoreandmoreextensiveintheapplicationintheInternet,providingthemorethoughtfulandhumanizedserviceforthelargenetworkcustomer.CharacteristichavealreadybecomegraduallythecurrentastheapplicationofWednowadays.Howtocommunicateonthewebisanewtopicfacingus.ThispaperdescribeshowtostructasystemtohavesetforthhousetoLetmanagementadoptB/Sstructure's,thepaperdescribestheB/SstructureandSQLServer,JSPtechnologyprinciples.Thearticlecompletetheneedsanalysisofansystemforthemanagementapplicationsforcommunicationwhichontheweb,functionalmodulesdivisionanddatabasemodelanalysis.Thetechnologyisinprogressheretowhatbeappliedkeyonthebasis,describethat.Final,commentthattoproceduredebuggingwithtestingresultbeinginprogress.Thediscourseaccordingtothepracticaldemandofsomeusers,whichisonthebaseofthesituationofthedomesticandinternationalrecordedatpresent.adoptcurrentlycomparativelypopularB/S(Browser/Server)structureandJSPdevelopmentWebpagetodevelopatechnology,2023databases,adopttheJSPtechnologyowingtoWindowsXPProfessionalOSandSQLServer,thefunctionhavingdesignedandrealizingoneiscomparativelyperfecthousetoLetmanagementsystem.Throughaseriesofpreparationsuchasrequirementanalization,design,coding,testthroughsetforthhousetoLetmanagementsystem.Thatisthesystemdomesticconsumer'sturntobeabletoregisterbecomingthewebsitemember,landingwebsite,browse,checkbuildinginformation,announceandthenindividualbuildinginformation,canlookupthepressreleasethatwebsitewaiting,administrativepersoncancarryoutadministrationonthewebsitemember,buildinginformationandthewebsitepressrelease.Thesmalladvantageshavingdesignedprocessworktosystemdescribespriority,requiresthattheplaceimprovinghasdoneasummaryatthesametimealsotosystem.Internet,applicationstatus,usingaWeb-basedthree-tiersystemstructure,thebrowserWebapplicationserversdatabaseservers.Throughtheteacherevaluationprocessneedstoconductadetailedanalysis,establishasystemofthemodelanddatamodel.Identifythedatamodelforrelationaldatamodelfortheanalysis,design,whichdepictstheE-Rcharts.SelectionofthebackgrounddatabaseSQLServer2023istobeachieved.WebdevelopsusingcurrentpopularJSP(JavaServerPages,Dynamicwebtechnology)technology,JSPpagesthroughJDBC(JavaDatabaseConnectivity)interfacetoSQLServer2023database.Ithasrealizedabrowserholdingtheprocedurereallywiththeserver.Throughthetesting,the

operation

resultofthesystemissteady.Itiseasytooperateandthespeedisfast.Itcangiveagoodservicefortheuserswhousethesystem.KeyWordsB/SStructure;JDBC;SQLServer2023第1章緒論1.1課題研究的背景介紹隨著社會經(jīng)濟的發(fā)展,城市現(xiàn)代化建設(shè)步伐不斷加快,城市規(guī)模不斷擴大,人員的流動也不斷加大,房屋出租逐漸成為社會生活的重要組成部分。無論是房屋出租還是房屋求租,都面臨著大量需求。說到房屋出租,我們一方面想到的就是房屋中介,但是不管對于房屋出租者還是對于求租者來說,要面對的問題實在讓人頭疼,一方面是琳瑯滿目的中介公司讓人感到無從選擇,在要顧及中介單位可信度的同時,大量復(fù)雜的房產(chǎn)信息使他們感到迷茫,難以快速、準(zhǔn)確地從中找到適合自己的房屋信息。再者,出租、承租雙方進行交易的時候還要通過中介,使交易過程更加繁瑣。并且中介單位還要收取的一定比例的中介費用,這也在一定限度上加重了房屋承租者的承擔(dān)。因此,現(xiàn)實社會中急需一個第三者為房屋出租者與房屋求租者牽線搭橋,來填補中介單位的種種局限性。在互聯(lián)網(wǎng)蓬勃發(fā)展的今天,網(wǎng)絡(luò)和我們的生活、工作越來越密不可分,網(wǎng)絡(luò)正領(lǐng)導(dǎo)著一個新時代的來臨。于是我們就運用開放的Internet技術(shù),開發(fā)出實時、快捷、全方位傳播信息的平臺,我們制作的房屋出租管理系統(tǒng)的網(wǎng)站,就成了人們關(guān)于生活中住房問題的信息載體,使得房屋信息在出租者與求租者之間傳播更為輕松。這樣,使原本復(fù)雜的房屋信息簡樸化,系統(tǒng)能及時為他們提供服務(wù),使出租求租雙方都可以方便快捷的得到信息。通過本系統(tǒng)來管理房屋出租情況,可以解決大量房屋信息的查詢和管理,便于房屋出租者更好的發(fā)布其房屋信息,同時也為租房者提供方便。并且可以培養(yǎng)我們的綜合分析設(shè)計能力,同時提高動手實踐的能力。1.2系統(tǒng)開發(fā)環(huán)境及開發(fā)平臺介紹1.2.1系統(tǒng)開發(fā)環(huán)境1.硬件環(huán)境CPU:DuoT56001.83GHz;內(nèi)存:512MB以上;硬盤:100G.。2.軟件環(huán)境操作系統(tǒng):WindowsXP;數(shù)據(jù)庫:SQLServer2023;開發(fā)工具包:JDK1.5.0;JSP服務(wù)器:Tomcat6.0;瀏覽器:IE7.0。1.2.2系統(tǒng)開發(fā)平臺簡介1.系統(tǒng)開發(fā)平臺本系統(tǒng)開發(fā)語言選用Java,JSP,所以采用MyEclipse,Tomcat為重要開發(fā)工具,然后結(jié)合Dreamweaver,SQLServer2023數(shù)據(jù)庫管理系統(tǒng)與WindowsXP操作系統(tǒng)進行。既考慮了系統(tǒng)的需求,又兼顧了運營的效率,以及此后系統(tǒng)的功能拓展等。2.Tomcat簡介如今,基于Web的應(yīng)用越來越多,傳統(tǒng)的Html已經(jīng)滿足不了如今的需求。我們需要一個交互式的Web,于是便誕生了各種Web語言。如Asp,Jsp,Php等。當(dāng)然,這些語言與傳統(tǒng)的語言有著密切的聯(lián)系,如Php基于C和C++語言,Jsp基于Java語言。Tomcat即是一個Jsp和Servlet的運營平臺。Tomcat是一個免費的開源的Serlvet容器,它是Apache基金會的Jakarta項目中的一個核心項目,由Apache,Sun和其它一些公司及個人共同開發(fā)而成。由于有了Sun的參與和支持,最新的Servlet和Jsp規(guī)范總能在Tomcat中得到體現(xiàn)。Tomcat被JavaWorld雜志的編輯選為2023年度最具創(chuàng)新的java產(chǎn)品,可見其在業(yè)界的地位。在Tomcat中,應(yīng)用程序的部署很簡樸,你只需將你的WAR放到Tomcat的webapp目錄下,Tomcat會自動檢測到這個文獻,并將其解壓。你在瀏覽器中訪問這個應(yīng)用的Jsp時,通常第一次會很慢,由于Tomcat要將Jsp轉(zhuǎn)化為Servlet文獻,然后編譯。編譯以后,訪問將會不久。此外Tomcat也提供了一個應(yīng)用:manager,訪問這個應(yīng)用需要用戶名和密碼,用戶名和密碼存儲在一個xml文獻中。通過這個應(yīng)用,輔助于Ftp,你可以在遠(yuǎn)程通過Web部署和撤消應(yīng)用。當(dāng)然本地也可以。Tomcat有三種工作模式,分別是獨立的Servlet容器、進程內(nèi)的Servlet容器和進程外的Servlet容器。在運用其進行開發(fā)之前必須要清楚Tomcat的目錄結(jié)構(gòu)。由于它的目錄結(jié)構(gòu)和Web系統(tǒng)的創(chuàng)建和發(fā)布都有著很大的關(guān)系,通常,Tomcat的目錄結(jié)構(gòu)如下表:表1-1Tomcat的目錄結(jié)構(gòu)目錄描述/bin存放啟動和關(guān)閉Tomcat的各種腳本文獻/conf存放Tomcat服務(wù)器的各種配置文獻/server/lib包含了3個子目錄:即classes、lib、webapps;/server/webapps存放Tomcat服務(wù)器所需要的各種JAR文獻/common/lib存放Tomcat自帶的兩個Web應(yīng)用:admin應(yīng)用和manager應(yīng)用/Shared/lib存放Tomcat服務(wù)器及所有Web應(yīng)用都可以訪問的JAR文獻l/ogs存在所有Web應(yīng)用都可以訪問的JAR文獻/webapps當(dāng)發(fā)布Web應(yīng)用時,默認(rèn)情況下把Web應(yīng)用放在此目錄下/workTomcat把JSP生成的Servlet放在此目錄下Tomcat不僅僅是一個Servlet容器,它也具有傳統(tǒng)的Web服務(wù)器的功能:解決Html頁面。但是與Apache相比,它的解決靜態(tài)Html的能力就不如Apache.我們可以將Tomcat和Apache集成到一塊,讓Apache解決靜態(tài)Html,而Tomcat解決Jsp和Servlet.這種集成只需要修改一下Apache和Tomcat的配置文獻即可。基于Tomcat的開發(fā)其實重要是Jsp和Servlet的開發(fā),開發(fā)Jsp和Servlet非常簡樸,你可以用普通的文本編輯器或者IDE,然后將其打包成WAR即可。我們這里要提到此外一個工具Ant,Ant也是Jakarta中的一個子項目,它所實現(xiàn)的功能類似于Unix中的make.你需要寫一個build.xml文獻,然后運營Ant就可以完畢xml文獻中定義的工作,這個工具對于一個大的應(yīng)用來說非常好,我們只需在xml中寫很少的東西就可以將其編譯并打包成WAR.事實上,在很多應(yīng)用服務(wù)器的發(fā)布中都包含了Ant.此外,在Jsp1.2中,可以運用標(biāo)簽庫實現(xiàn)Java代碼與Html文獻的分離,使Jsp的維護更方便。Tomcat的確是一個很好的工具,不僅僅由于其免費,功能強大,更由于其開放性。如今,開源軟件越來越收到人們的重視,Linux就是一個成功的典型。3.MyEclipse簡介MyEclipse公司級工作平臺(MyEclipseEnterpriseWorkbench,簡稱MyEclipse)是對EclipseIDE的擴展,運用它我們可以在數(shù)據(jù)庫和J2EE的開發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的J2EE集成開發(fā)環(huán)境,涉及了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。簡樸而言,MyEclipse是Eclipse的插件,也是一款功能強大的J2EE集成開發(fā)環(huán)境,支持代碼編寫、配置、測試以及除錯。Genuitec發(fā)布了MyEclipseEnterpriseWorkbench5.0,更智能、更快捷、更簡樸和更便宜的J2EE工具的新版本的誕生。它的價格對于個人和公司開發(fā)人員來說都是非常有吸引力的。這是J2EEIDE市場一個重量級的選手。通過增長UML雙向建模工具、WYSIWYG的JSP/Strutsdesigner、可視化的Hibernate/ORM工具、Spring和Webservices支持,以及新的Oracle數(shù)據(jù)庫開發(fā),MyEclipse5.0繼續(xù)為業(yè)界提供全面的產(chǎn)品。第2章系統(tǒng)開發(fā)技術(shù)介紹2.1系統(tǒng)的B/S結(jié)構(gòu)2.1.1B/S結(jié)構(gòu)簡介B/S結(jié)構(gòu):(Browser/Server,瀏覽器/服務(wù)器模式):是WEB興起后的一種網(wǎng)絡(luò)結(jié)構(gòu)模式,WEB瀏覽器是客戶端最重要的應(yīng)用軟件。這種模式統(tǒng)一了客戶端,將系統(tǒng)功能實現(xiàn)的核心部分集中到服務(wù)器上,簡化了系統(tǒng)的開發(fā)、維護和使用。客戶機上只要安裝一個瀏覽器(Browser),如NetscapeNavigator或InternetExplorer,服務(wù)器安裝Oracle、Sybase、Informix或SQLServer等數(shù)據(jù)庫。B/S模式體系結(jié)構(gòu)的原理如圖2-1所示,瀏覽器通過WebServer同數(shù)據(jù)庫進行數(shù)據(jù)交互。Web瀏覽器Web瀏覽器Web服務(wù)器應(yīng)用服務(wù)器HTTP請求HTML界面結(jié)果SQL請求數(shù)據(jù)庫服務(wù)器圖2-1B/S模式體系結(jié)構(gòu)原理圖B/S最大的優(yōu)點就是可以在任何地方進行操作而不用安裝任何專門的軟件。只要有一臺能上網(wǎng)的電腦就能使用,客戶端零維護。系統(tǒng)的擴展非常容易。B/S結(jié)構(gòu)的使用越來越多,特別是由需求推動了AJAX技術(shù)的發(fā)展,它的程序也能在客戶端電腦上進行部分解決,從而大大的減輕了服務(wù)器的承擔(dān);并增長了交互性,能進行局部實時刷新。2.1.2B/S架構(gòu)軟件的優(yōu)勢與劣勢維護和升級方式簡樸。目前,軟件系統(tǒng)的改善和升級越來越頻繁,B/S架構(gòu)的產(chǎn)品明顯體現(xiàn)著更為方便的特性。對一個稍微大一點單位來說,系統(tǒng)管理人員假如需要在幾百甚至上千部電腦之間來回奔跑,效率和工作量是可想而知的,但B/S架構(gòu)的軟件只需要管理服務(wù)器就行了,所有的客戶端只是瀏覽器,主線不需要做任何的維護。無論用戶的規(guī)模有多大,有多少分支機構(gòu)都不會增長任何維護升級的工作量,所有的操作只需要針對服務(wù)器進行;假如是異地,只需要把服務(wù)器連接專網(wǎng)即可,實現(xiàn)遠(yuǎn)程維護、升級和共享。所以客戶機越來越“瘦”,而服務(wù)器越來越“胖”是將來信息化發(fā)展的主流方向。此后,軟件升級和維護會越來越容易,而使用起來會越來越簡樸,這對用戶人力、物力、時間、費用的節(jié)省是顯而易見的,驚人的。因此,維護和升級革命的方式是“瘦”客戶機,“胖”服務(wù)器。成本減少,選擇更多。大家都知道windows在桌面電腦上幾乎一統(tǒng)天下,瀏覽器成為了標(biāo)準(zhǔn)配置,但在服務(wù)器操作系統(tǒng)上windows并不是處在絕對的統(tǒng)治地位。現(xiàn)在的趨勢是凡使用B/S架構(gòu)的應(yīng)用管理軟件,只需安裝在Linux服務(wù)器上即可,并且安全性高。所以服務(wù)器操作系統(tǒng)的選擇是很多的,不管選用那種操作系統(tǒng)都可以讓大部分人使用windows作為桌面操作系統(tǒng)電腦不受影響,這就使的最流行免費的Linux操作系統(tǒng)快速發(fā)展起來,Linux除了操作系統(tǒng)是免費的以外,連數(shù)據(jù)庫也是免費的,這種選擇非常盛行。比如說很多人天天上“新浪”網(wǎng),只要安裝了瀏覽器就可以了,并不需要了解“新浪”的服務(wù)器用的是什么操作系統(tǒng),而事實上大部分網(wǎng)站的確沒有使用windows操作系統(tǒng),但用戶的電腦自身安裝的大部分是windows操作系統(tǒng)。應(yīng)用服務(wù)器運營數(shù)據(jù)負(fù)荷較重。由于B/S架構(gòu)管理軟件只安裝在服務(wù)器端上,網(wǎng)絡(luò)管理人員只需要管理服務(wù)器就行了,用戶界面重要事務(wù)邏輯在服務(wù)器端完全通過WWW瀏覽器實現(xiàn),很少部分事務(wù)邏輯在前端實現(xiàn),所有的客戶端只有瀏覽器,網(wǎng)絡(luò)管理人員只需要做硬件維護。但是,應(yīng)用服務(wù)器運營數(shù)據(jù)負(fù)荷較重,一旦發(fā)生服務(wù)器“崩潰”等問題,后果不堪設(shè)想。因此,許多單位都備有數(shù)據(jù)庫存儲服務(wù)器,以防萬一。2.1.3B/S框架與C/S框架的聯(lián)系與區(qū)別C/S是Client/Server的縮寫。服務(wù)器通常采用高性能的PC、工作站或小型機,并采用大型數(shù)據(jù)庫系統(tǒng),如Oracle、Sybase、Informix或SQLServer。客戶端需要安裝專用的客戶端軟件。B/S是Brower/Server的縮寫,客戶機上只要安裝一個瀏覽器(Browser),如InternetExplorer,服務(wù)器安裝Oracle、Sybase、Informix或SQLServer等數(shù)據(jù)庫。在這種結(jié)構(gòu)下,用戶界面完全通過WWW瀏覽器實現(xiàn),一部分事務(wù)邏輯在前端實現(xiàn),但是重要事務(wù)邏輯在服務(wù)器端實現(xiàn)。瀏覽器通過WebServer同數(shù)據(jù)庫進行數(shù)據(jù)交互。C/S與B/S區(qū)別:(1)硬件環(huán)境不同C/S一般建立在專用的網(wǎng)絡(luò)上,小范圍里的網(wǎng)絡(luò)環(huán)境,局域網(wǎng)之間再通過專門服務(wù)器提供連接和數(shù)據(jù)互換服務(wù)。B/S建立在廣域網(wǎng)之上的,不必是專門的網(wǎng)絡(luò)硬件環(huán)境,例如電話上網(wǎng),租用設(shè)備,信息自己管理。有比C/S更強的適應(yīng)范圍,一般只要有操作系統(tǒng)和瀏覽器就行。(2)對安全規(guī)定不同C/S一般面向相對固定的用戶群,對信息安全的控制能力很強。一般高度機密的信息系統(tǒng)采用C/S結(jié)構(gòu)適宜。可以通過B/S發(fā)布部分可公開信息。B/S建立在廣域網(wǎng)之上,對安全的控制能力相對弱,也許面向不可知的用戶。(3)對程序架構(gòu)不同C/S程序可以更加注重流程,可以對權(quán)限多層次校驗,對系統(tǒng)運營速度可以較少考慮。B/S對安全以及訪問速度的多重的考慮,建立在需要更加優(yōu)化的基礎(chǔ)之上。比C/S有更高的規(guī)定B/S結(jié)構(gòu)的程序架構(gòu)是發(fā)展的趨勢,從MS的.Net系列的BizTalk2023Exchange2023等,全面支持網(wǎng)絡(luò)的構(gòu)件搭建的系統(tǒng).SUN和IBM推的JavaBean構(gòu)件技術(shù)等,使B/S更加成熟。(4)軟件重用不同C/S程序可以不可避免的整體性考慮,構(gòu)件的重用性不如在B/S規(guī)定下的構(gòu)件的重用性好。B/S面對的多重結(jié)構(gòu),規(guī)定構(gòu)件相對獨立的功能,可以相對較好的重用,就如買來的餐桌可以再運用,而不是做在墻上的石頭桌子。(5)系統(tǒng)維護不同C/S程序由于整體性,必須整體考察,解決出現(xiàn)的問題以及系統(tǒng)升級。升級難,也許要再做一個全新的系統(tǒng)。B/S構(gòu)件組成,方面構(gòu)件個別的更換,實現(xiàn)系統(tǒng)的無縫升級。系統(tǒng)維護開銷減到最小,用戶從網(wǎng)上自己下載安裝就可以實現(xiàn)升級。(6)解決問題不同C/S程序可以解決用戶面固定,并且在相同區(qū)域,安全規(guī)定高需求,與操作系統(tǒng)相關(guān),應(yīng)當(dāng)都是相同的系統(tǒng)。B/S建立在廣域網(wǎng)上,面向不同的用戶群,分散地區(qū),這是C/S無法作到的.與操作系統(tǒng)平臺關(guān)系最小。(7)用戶接口不同C/S多是建立的Window平臺上,表現(xiàn)方法有限,對程序員普遍規(guī)定較高。B/S建立在瀏覽器上,有更加豐富和生動的表現(xiàn)方式與用戶交流。并且大部分難度減低,減低開發(fā)成本。(8)信息流不同C/S程序一般是典型的中央集權(quán)的機械式解決,交互性相對低。B/S信息流向可變化,B-BB-CB-G等信息、流向的變化,更像交易中心。2.2JSP技術(shù)概述2.2.1JSP簡介JSP(JavaServerPages)是由SunMicrosystems公司提倡、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。JSP技術(shù)有點類似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁HTML文獻(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標(biāo)記(tag),從而形成JSP文獻(*.jsp)。用JSP開發(fā)的Web應(yīng)用是跨平臺的,即能在Linux下運營,也能在其他操作系統(tǒng)上運營。JSP技術(shù)使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的解決邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計和顯示分離,支持可重用的基于組件的設(shè)計,使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。Web服務(wù)器在碰到訪問JSP網(wǎng)頁的請求時,一方面執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文獻中的HTML代碼一起返回給客戶。插入的Java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實現(xiàn)建立動態(tài)網(wǎng)頁所需要的功能。JSP與JavaServlet同樣,是在服務(wù)器端執(zhí)行的,通常返回該客戶端的就是一個HTML文本,因此客戶端只要有瀏覽器就能瀏覽。JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁面被客戶端請求以后對這些Java代碼進行解決,然后將生成的HTML頁面返回給客戶端的瀏覽器。JavaServlet是JSP的技術(shù)基礎(chǔ),并且大型的Web應(yīng)用程序的開發(fā)需要JavaServlet和JSP配合才干完畢。JSP具有了Java技術(shù)的簡樸易用,完全的面向?qū)ο螅哂衅脚_無關(guān)性且安全可靠,重要面向因特網(wǎng)的所有特點。2.2.2JSP技術(shù)的強勢與弱勢分析1.JSP技術(shù)的強勢(1)一次編寫,到處運營。在這一點上Java比PHP更杰出,除了系統(tǒng)之外,代碼不用做任何更改。(2)系統(tǒng)的多平臺支持。基本上可以在所有平臺上的任意環(huán)境中開發(fā),在任意環(huán)境中進行系統(tǒng)部署,在任意環(huán)境中擴展。相比ASP/PHP的局限性是顯而易見的。(3)強大的可伸縮性。從只有一個小的Jar文獻就可以運營Servlet/JSP,到由多臺服務(wù)器進行集群和負(fù)載均衡,到多臺Application進行事務(wù)解決,消息解決,一臺服務(wù)器到無數(shù)臺服務(wù)器,Java顯示了一個巨大的生命力。(4)多樣化和功能強大的開發(fā)工具支持。這一點與ASP很像,Java已有了許多非常優(yōu)秀的開發(fā)工具,并且許多可以免費得到,并且其中許多已經(jīng)可以順利的運營于多種平臺之下。2.JSP技術(shù)的弱勢(1)與ASP同樣,Java的一些優(yōu)勢正是它致命的問題所在。正是由于為了跨平臺的功能,為了極度的伸縮能力,所以極大的增長了產(chǎn)品的復(fù)雜性。(2)Java的運營速度是用class常駐內(nèi)存來完畢的,所以它在一些情況下所使用的內(nèi)存比起用戶數(shù)量來說的確是“最低性能價格比”了。從另一方面,它還需要硬盤空間來儲存一系列的.java文獻和.class文獻,以及相應(yīng)的版本文獻。2.2.3JSP動態(tài)網(wǎng)站開發(fā)技術(shù)太陽微系統(tǒng)公司(SunMicrosystemsInc.)在Web服務(wù)器、應(yīng)用服務(wù)器、交易系統(tǒng)以及開發(fā)工具供應(yīng)商間廣泛支持與合作下,整合并平衡了已經(jīng)存在的對Java編程環(huán)境(例如JavaServlets和JavaBeans)進行支持的技術(shù)和工具后產(chǎn)生了一種新的、開發(fā)基于Web應(yīng)用程序的方法——JavaServerPages技術(shù)(JSP)。這種動態(tài)網(wǎng)站開發(fā)技術(shù)的特點是:可以在任何Web或應(yīng)用程序服務(wù)器上運營;

分離了應(yīng)用程序的邏輯和頁面顯示;可以進行快速的開發(fā)和測試;簡化了開發(fā)基于Web的交互式應(yīng)用程序的過程。為了快速方便地進行動態(tài)網(wǎng)站的開發(fā),JSP在以下幾個方面做了改善,使其成為快速建立跨平臺的動態(tài)網(wǎng)站的首選方案。(1)將內(nèi)容的生成和顯示進行分離用JSP技術(shù),Web頁面開發(fā)人員可以使用HTML或者XML標(biāo)記來設(shè)計和格式化最終頁面,并使用JSP標(biāo)記或者小腳本來生成頁面上的動態(tài)內(nèi)容(內(nèi)容是根據(jù)請求變化的,例如請求賬戶信息或者特定的一瓶酒的價格等)。生成內(nèi)容的邏輯被封裝在標(biāo)記和JavaBeans組件中,并且捆綁在腳本中,所有的腳本在服務(wù)器端運營。由于核心邏輯被封裝在標(biāo)記和JavaBeans中,所以Web管理人員和頁面設(shè)計者,可以編輯和使用JSP頁面,而不影響內(nèi)容的生成。在服務(wù)器端,JSP引擎解釋JSP標(biāo)記和腳本,生成所請求的內(nèi)容(例如,通過訪問JavaBeans組件,使用JDBC技術(shù)訪問數(shù)據(jù)庫或者包含文獻),并且將結(jié)果以HTML(或者XML)頁面的形式發(fā)送回瀏覽器。這既有助于作者保護自己的代碼,又能保證任何基于HTML的Web瀏覽器的完全可用性。(2)可重用組件絕大多數(shù)JSP頁面依賴于可重用的、跨平臺的組件(JavaBeans或者EnterpriseJavaBeans組件)來執(zhí)行應(yīng)用程序所規(guī)定的復(fù)雜的解決。開發(fā)人員可以共享和互換執(zhí)行普通操作的組件,或者使得這些組件為更多的使用者和客戶團隊所使用。基于組件的方法加速了總體開發(fā)過程,并且使得各種組織在他們現(xiàn)有的技能和優(yōu)化結(jié)果的開發(fā)努力中得到平衡。(3)采用標(biāo)記Web頁面開發(fā)人員不會都是熟悉腳本語言的編程人員。JSP技術(shù)封裝了許多功能,這些功能是在易用的、與JSP相關(guān)的XML標(biāo)記中進行動態(tài)內(nèi)容生成所需要的。標(biāo)準(zhǔn)的JSP標(biāo)記可以訪問和實例化JavaBeans組件,設(shè)立或者檢索組件屬性,下載Applet,以及執(zhí)行用其他方法更難于編碼和耗時的功能。(4)適應(yīng)平臺幾乎所有平臺都支持Java,JSP+JavaBeans幾乎可以在所有平臺下通行無阻。從一個平臺移植到此外一個平臺,JSP和JavaBeans甚至不用重新編譯,由于Java字節(jié)碼都是標(biāo)準(zhǔn)的與平臺無關(guān)的。(5)數(shù)據(jù)庫連接Java中連接數(shù)據(jù)庫的技術(shù)是JDBC,Java程序通過JDBC驅(qū)動程序與數(shù)據(jù)庫相連,執(zhí)行查詢、提取數(shù)據(jù)等操作。Sun公司還開發(fā)了JDBC-ODBCbridge,運用此技術(shù)Java程序可以訪問帶有ODBC驅(qū)動程序的數(shù)據(jù)庫,目前大多數(shù)數(shù)據(jù)庫系統(tǒng)都帶有ODBC驅(qū)動程序,所以Java程序能訪問諸如Oracle、Sybase、MSSQLServer和MSAccess等數(shù)據(jù)庫。此外,通過開發(fā)標(biāo)記庫,JSP技術(shù)可以進一步擴展。第三方開發(fā)人員和其別人員可認(rèn)為常用功能創(chuàng)建自己的標(biāo)記庫。這使得Web頁面開發(fā)人員可以使用熟悉的工具和如同標(biāo)記同樣的執(zhí)行特定功能的構(gòu)件來進行工作。JSP技術(shù)很容易整合到多種應(yīng)用體系結(jié)構(gòu)中,以運用現(xiàn)存的工具和技巧,并且能擴展到支持公司級的分布式應(yīng)用中。作為采用Java技術(shù)家族的一部分,以及Java2(公司版體系結(jié)構(gòu))的一個組成部分,JSP技術(shù)可以支持高度復(fù)雜的基于Web的應(yīng)用。由于JSP頁面的內(nèi)置腳本語言是基于Java的,并且所有的JSP頁面都被編譯成為JavaServlets,所以JSP頁面具有Java技術(shù)的所有好處,涉及健壯的存儲管理和安全性。作為Java平臺的一部分,JSP擁有Java編程語言“一次編寫,各處運營”的特點。運用JSP技術(shù),動態(tài)信息由JSP頁面來表現(xiàn),JSP頁面由安裝在Web服務(wù)器或者使用JSP的應(yīng)用服務(wù)器上的JSP引擎執(zhí)行。JSP引擎接受客戶端對JSP頁面的請求,并且生成JSP頁面作為對客戶端的響應(yīng)。JSP頁面通常被編譯成為JavaServlets,這是一個標(biāo)準(zhǔn)的Java擴展。頁面開發(fā)人員可以訪問所有的Java應(yīng)用環(huán)境,以運用Java技術(shù)的擴展性和可移植性。當(dāng)JSP頁面第一次被調(diào)用時,假如它還不存在,就會被編譯成為一個JavaServlets類,并且存儲在服務(wù)器的內(nèi)存中。這就使得在接下來的對該頁面的調(diào)用中,服務(wù)器會有非常快的響應(yīng)(這避免了CGI-BIN為每個HTTP請求生成一個新的進程的問題)。JSP頁面可以包含在多種不同的應(yīng)用體系結(jié)構(gòu)或者模型中,可以用于由不同協(xié)議、組件和格式所組成的聯(lián)合體中。基于JSP的動態(tài)信息發(fā)布技術(shù)是一個開放的、可擴展的建立動態(tài)Web頁面的標(biāo)準(zhǔn)。不管采用什么創(chuàng)建工具,開發(fā)人員都可以使用JSP頁面來創(chuàng)建可移植的Web應(yīng)用,在不同的Web應(yīng)用服務(wù)器上運營。2.3MVC及Struts介紹2.3.1MVC介紹MVC模式是"Model-View-Controller"的縮寫,中文翻譯為"模式-視圖-控制器"。即把一個應(yīng)用的輸入、解決、輸出流程按照Model、View、Controller的方式進行分離,這樣一個應(yīng)用被提成三個層——模型層、視圖層、控制層。視圖(View)代表用戶交互界面,對于Web應(yīng)用來說,可以概括為HTML界面,但有也許為XHTML、XML和Applet。隨著應(yīng)用的復(fù)雜性和規(guī)模性,界面的解決也變得具有挑戰(zhàn)性。一個應(yīng)用也許有很多不同的視圖,MVC設(shè)計模式對于視圖的解決僅限于視圖上數(shù)據(jù)的采集和解決,以及用戶的請求,而不涉及在視圖上的業(yè)務(wù)流程的解決。業(yè)務(wù)流程的解決交予模型(Model)解決。比如一個訂單的視圖只接受來自模型的數(shù)據(jù)并顯示給用戶,以及將用戶界面的輸入數(shù)據(jù)和請求傳遞給控制和模型。模型(Model):就是業(yè)務(wù)流程/狀態(tài)的解決以及業(yè)務(wù)規(guī)則的制定。業(yè)務(wù)流程的解決過程對其它層來說是黑箱操作,模型接受視圖請求的數(shù)據(jù),并返回最終的解決結(jié)果。業(yè)務(wù)模型的設(shè)計可以說是MVC最重要的核心。目前流行的EJB模型就是一個典型的應(yīng)用例子,它從應(yīng)用技術(shù)實現(xiàn)的角度對模型做了進一步的劃分,以便充足運用現(xiàn)有的組件,但它不能作為應(yīng)用設(shè)計模型的框架。它僅僅告訴你按這種模型設(shè)計就可以運用某些技術(shù)組件,從而減少了技術(shù)上的困難。對一個開發(fā)者來說,就可以專注于業(yè)務(wù)模型的設(shè)計。MVC設(shè)計模式告訴我們,把應(yīng)用的模型按一定的規(guī)則抽取出來,抽取的層次很重要,這也是判斷開發(fā)人員是否優(yōu)秀的設(shè)計依據(jù)。抽象與具體不能隔得太遠(yuǎn),也不能太近。MVC并沒有提供模型的設(shè)計方法,而只告訴你應(yīng)當(dāng)組織管理這些模型,以便于模型的重構(gòu)和提高重用性。我們可以用對象編程來做比方,MVC定義了一個頂級類,告訴它的子類你只能做這些,但沒法限制你能做這些。這點對編程的開發(fā)人員非常重要。業(yè)務(wù)模型尚有一個很重要的模型那就是數(shù)據(jù)模型。數(shù)據(jù)模型重要指實體對象的數(shù)據(jù)保存(連續(xù)化)。比如將一張訂單保存到數(shù)據(jù)庫,從數(shù)據(jù)庫獲取訂單。我們可以將這個模型單獨列出,所有有關(guān)數(shù)據(jù)庫的操作只限制在該模型中。控制(Controller)可以理解為從用戶接受請求,將模型與視圖匹配在一起,共同完畢用戶的請求。劃分控制層的作用也很明顯,它清楚地告訴你,它就是一個分發(fā)器,選擇什么樣的模型,選擇什么樣的視圖,可以完畢什么樣的用戶請求。控制層并不做任何的數(shù)據(jù)解決。例如,用戶點擊一個連接,控制層接受請求后,并不解決業(yè)務(wù)信息,它只把用戶的信息傳遞給模型,告訴模型做什么,選擇符合規(guī)定的視圖返回給用戶。因此,一個模型也許相應(yīng)多個視圖,一個視圖也許相應(yīng)多個模型。模型、視圖與控制器的分離,使得一個模型可以具有多個顯示視圖。假如用戶通過某個視圖的控制器改變了模型的數(shù)據(jù),所有其它依賴于這些數(shù)據(jù)的視圖都應(yīng)反映到這些變化。因此,無論何時發(fā)生了何種數(shù)據(jù)變化,控制器都會將變化告知所有的視圖,導(dǎo)致顯示的更新。這事實上是一種模型的變化-傳播機制。模型、視圖、控制器三者之間的關(guān)系和各自的重要功能,如圖2-2所示。模型模型封裝應(yīng)用程序狀態(tài)響應(yīng)狀態(tài)查詢應(yīng)用程序功能告知視圖改變視圖解釋模型模型更新請求發(fā)送用戶輸入給控制器允許控制器選擇試圖控制器定義應(yīng)用程序行為用戶動作映射成模型更新選擇響應(yīng)的視圖視圖選擇用戶請求狀態(tài)改變狀態(tài)查詢告知改變方法調(diào)用事件圖2-2MVC組件類型的關(guān)系和功能2.3.2Struts介紹Struts是Apache基金會Jakarta項目組的一個OpenSource項目,它采用MVC模式,可以很好地幫助java開發(fā)者運用J2EE開發(fā)Web應(yīng)用。和其他的java架構(gòu)同樣,Struts也是面向?qū)ο笤O(shè)計,將MVC模式"分離顯示邏輯和業(yè)務(wù)邏輯"的能力發(fā)揮得淋漓盡致。Struts框架的核心是一個彈性的控制層,基于如JavaServlet,JavaBeans,ResourceBundles與XML等標(biāo)準(zhǔn)技術(shù),以及JakartaCommons的一些類庫。Struts有一組互相協(xié)作的類(組件)、Serlvet以及jsptaglib組成。基于Struts構(gòu)架的Web應(yīng)用程序基本上符合JSPModel2的設(shè)計標(biāo)準(zhǔn),可以說是一個傳統(tǒng)MVC設(shè)計模式的一種變化類型。Struts這個名字來源于在建筑和舊式飛機中使用的支持金屬架。它的目的是為了減少在運用MVC設(shè)計模型來開發(fā)Web應(yīng)用的時間。Struts跟Tomcat、Turbine等諸多Apache項目同樣,是開源軟件,這是它的一大優(yōu)點,使開發(fā)者能更進一步的了解其內(nèi)部實現(xiàn)機制。除此之外,Struts的優(yōu)點重要集中體現(xiàn)在兩個方面:Taglib和頁面導(dǎo)航。Taglib是Struts的標(biāo)記庫,靈活動用,能大大提高開發(fā)效率。此外,就目前國內(nèi)的JSP開發(fā)者而言,除了使用JSP自帶的常用標(biāo)記外,很少開發(fā)自己的標(biāo)記,或許Struts是一個很好的起點。第3章系統(tǒng)分析3.1任務(wù)描述為了實現(xiàn)網(wǎng)絡(luò)化、科學(xué)化、現(xiàn)代化的房屋出租管理,使用JSP、Servlet和JavaBean及數(shù)據(jù)庫技術(shù)相結(jié)合,編寫一個B/S結(jié)構(gòu)的房屋出租管理系統(tǒng)。系統(tǒng)的總體設(shè)計應(yīng)當(dāng)是提供應(yīng)上網(wǎng)瀏覽者一個高效率,能進行豐富的網(wǎng)上活動的網(wǎng)站,為網(wǎng)站用戶提供及時發(fā)布、查詢房屋租賃信息的平臺。系統(tǒng)目的如下:1.應(yīng)用網(wǎng)絡(luò)的優(yōu)勢,開發(fā)房屋出租信息網(wǎng)站,方便房屋出租者與房屋求租者交流,可以使雙方都能了解彼此需求之后再進行交易,從而達成房屋信息被準(zhǔn)確運用的目的。2.網(wǎng)站用戶可以在網(wǎng)站首頁及時瀏覽房屋信息,并可以隨時注冊賬號,登錄網(wǎng)站發(fā)布個人房屋信息。3.網(wǎng)站有新聞公告模塊,除了房屋信息,用戶可以瀏覽、閱讀本站公告和時事新聞。4.管理員控制網(wǎng)站中對所有用戶的各項信息管理,可以隨時查看用戶的個人信息及房屋信息,監(jiān)督并防止用戶錄入非法信息。5.假如網(wǎng)站用戶對本網(wǎng)站故意見和建議,可以隨時給網(wǎng)站管理員發(fā)送E-mail進行聯(lián)系。3.2用UML用例圖描述系統(tǒng)需求3.2.1用例圖簡介用例圖用來描述系統(tǒng)與參與者之間的互相作用,也可以說它是從用戶角度出發(fā)對如何使用系統(tǒng)的描述。一方面要理清下面幾個概念:角色:角色代表了某一事件發(fā)生的參與者,他用一個小人表達。在通常的網(wǎng)絡(luò)項目中,角色常被用來代表使用網(wǎng)站的用戶(管理員、用戶等),但角色的作用并不局限于此,它也可以用來代表與系統(tǒng)交互的其他實體。用例:用例代表系統(tǒng)可以實現(xiàn)的功能,通常一個用例代表一組功能,它實質(zhì)上規(guī)定了系統(tǒng)實現(xiàn)功能的范圍。在實際項目開發(fā)過程中,一個項目中往往涉及很多個用例,此時需要將其分解成若干個子系統(tǒng)實現(xiàn),以便于理解。在UML中,用例用一個橢圓表達。用例圖:當(dāng)角色與用例發(fā)生某種關(guān)系時,就可以用一個圖將它們關(guān)聯(lián)起來,這就是用例圖,角色與用例之間使用一個帶箭頭的實線連接,箭頭方向代表使用者與被使用者關(guān)系。3.2.2系統(tǒng)用例分析房屋出租管理系統(tǒng)網(wǎng)站允許用戶有兩種身份:普通用戶和管理員,每種身份操作起來都很方便、快捷。任何普通用戶可以瀏覽、查看房屋租賃信息,但是假如想要發(fā)布個人的房屋租賃信息,這必須是通過注冊、登錄以后的用戶。這些用戶的基本信息都有管理員對其統(tǒng)一管理。系統(tǒng)網(wǎng)站用例圖如圖3-1所示。注冊注冊修改個人信息發(fā)布房屋信息刪除房屋信息瀏覽新聞公告普通用戶管理用戶信息管理房屋信息管理新聞公告管理員圖3-1系統(tǒng)用例圖3.3功能分析根據(jù)前面對房屋出租管理系統(tǒng)的分析,可將其劃提成前臺和后臺兩部分。前臺功能重要為網(wǎng)站普通用戶提供,后臺功能為管理員提供。軟件的重要模塊和功能如下:前臺功能:1.普通用戶模塊:瀏覽、搜索房屋信息,瀏覽網(wǎng)站新聞公告。

2.注冊會員模塊:瀏覽、搜索、發(fā)布、修改和刪除房屋信息,修改個人密碼信息,瀏覽網(wǎng)站新聞公告。后臺功能:1.房屋管理:能查看房屋信息發(fā)布具體情況,并可作出刪除管理。

2.注冊會員管理:查看網(wǎng)站系統(tǒng)注冊會員,并可作出刪除管理。3.新聞公告管理:添加、修改、瀏覽、刪除公告。注冊登錄注冊登錄普通用戶個人信息管理瀏覽功能身份驗證房屋信息管理修改個人信息發(fā)布房屋信息刪除房屋信息查看房屋信息查看新聞公告修改房屋信息登錄登錄管理員用戶信息管理新聞公告管理身份驗證房屋信息管理查看用戶信息查看房屋信息刪除房屋信息發(fā)布新聞公告刪除新聞公告刪除用戶信息查看新聞公告圖3-3后臺功能結(jié)構(gòu)圖第4章系統(tǒng)的設(shè)計與實現(xiàn)4.1數(shù)據(jù)庫的設(shè)計與實現(xiàn)4.1.1數(shù)據(jù)庫SQLServer2023簡介MicrosoftSQLServer是一種典型的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),可以在許多操作系統(tǒng)上運營,它使用Transact-SQL語言完畢數(shù)據(jù)操作。由于MicrosoftSQLServer是開放式的系統(tǒng),其它系統(tǒng)可以與它進行完好的交互操作。本系統(tǒng)采用的數(shù)據(jù)庫版本為MicrosoftSQLServer2023,它具有可靠性、可伸縮性、可用性、可管理性等特點,為用戶提供完整的數(shù)據(jù)庫解決方案。美國Microsoft公司推出的這種關(guān)系型數(shù)據(jù)庫系統(tǒng)。MicrosoftSQLServer是一個可擴展的、高性能的、為分布式客戶機/服務(wù)器計算所設(shè)計的數(shù)據(jù)庫管理系統(tǒng),實現(xiàn)了與WindowsNT的有機結(jié)合,提供了基于事務(wù)的公司級信息銷售管理系統(tǒng)方案。其重要特點如下:

(1)在公司管理器中有圖形化界面,方便使用,可充足運用WindowsNT的優(yōu)勢。(2)系統(tǒng)管理先進,支持本地的系統(tǒng)管理和配置。(3)強大的事務(wù)解決功能,采用各種方法保證數(shù)據(jù)的完整性。(4)支持對稱多解決器結(jié)構(gòu)、存儲過程、ODBC,并具有自主的SQL語言。MicrosoftSQLServer以其內(nèi)置強大的管理工具、與Internet的緊密集成和開放的系統(tǒng)結(jié)構(gòu)為廣大的用戶、開發(fā)人員和系統(tǒng)集成商提供了一個杰出的數(shù)據(jù)庫平臺。SQL全稱是“結(jié)構(gòu)化查詢語言(StructuredQueryLanguage)”,它的前身是SQUARE語言。SQL語言結(jié)構(gòu)簡潔,功能強大,簡樸易學(xué),所以自從推出以來,SQL語言得到了廣泛的應(yīng)用。目前,SQL語言已被擬定為關(guān)系數(shù)據(jù)庫系統(tǒng)的國際標(biāo)準(zhǔn),被絕大多數(shù)商業(yè)化關(guān)系數(shù)據(jù)庫系統(tǒng)采用,如Oracle、Sybase、DB2、Informix、SQLServer這些數(shù)據(jù)庫管理系統(tǒng)都支持SQL語言作為查詢語言。結(jié)構(gòu)化查詢語言SQL是一種介于關(guān)系代數(shù)與關(guān)系演算之間的語言,其功能涉及查詢、操縱、定義和控制四個方面,是一個通用的功能極強的關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言。SQL語言有著非常突出的優(yōu)點,重要是:1.非過程化語言SQL是一個非過程化的語言,由于它一次解決一個記錄,對數(shù)據(jù)提供自動導(dǎo)航。SQL允許用戶在高層的數(shù)據(jù)結(jié)構(gòu)上工作,而不對單個記錄進行操作,可操作記錄集。所有SQL語句接受集合作為輸入,返回集合作為輸出。SQL的集合特性允許一條SQL語句的結(jié)果作為另一條SQL語句的輸入。SQL不規(guī)定用戶指定對數(shù)據(jù)的存放方法。這種特性使用戶更易集中精力于要得到的結(jié)果。所有SQL語句使用查詢優(yōu)化器,它是RDBMS的一部分,由它決定對指定數(shù)據(jù)存取的最快速度的手段。查詢優(yōu)化器知道存在什么索引,哪兒使用合適,而用戶從不需要知道表是否有索引,表有什么類型的索引。2.統(tǒng)一的語言SQL可用于所有用戶的DB活動模型,涉及系統(tǒng)管理員、數(shù)據(jù)庫管理員、應(yīng)用程序員、決策支持系統(tǒng)人員及許多其它類型的終端用戶。基本的SQL命令只需很少時間就能學(xué)會,最高級的命令在幾天內(nèi)便可掌握。SQL為許多任務(wù)提供了命令,涉及:(1)查詢數(shù)據(jù)。(2)在表中插入、修改和刪除記錄。(3)建立、修改和刪除數(shù)據(jù)對象。(4)控制對數(shù)據(jù)和數(shù)據(jù)對象的存取。(5)保證數(shù)據(jù)庫一致性和完整性。以前的數(shù)據(jù)庫管理系統(tǒng)為上述各類操作提供單獨的語言,而SQL將所有任務(wù)統(tǒng)一在一種語言中。3.是所有關(guān)系數(shù)據(jù)庫的公共語言。SQL是所有關(guān)系數(shù)據(jù)庫的公共語言由于所有重要的關(guān)系數(shù)據(jù)庫管理系統(tǒng)都支持SQL語言,用戶可將使用SQL的技能從一個RDBMS轉(zhuǎn)到另一個。所有用SQL編寫的程序都是可以移植的。4.1.2數(shù)據(jù)庫結(jié)構(gòu)設(shè)計將數(shù)據(jù)庫概念結(jié)構(gòu)轉(zhuǎn)化為MicrosoftSQLServer2023系統(tǒng)所支持的實際數(shù)據(jù)模型,也就是數(shù)據(jù)庫的邏輯結(jié)構(gòu),系統(tǒng)數(shù)據(jù)庫名稱為fangwu,數(shù)據(jù)庫fangwu中包含用戶信息,房屋出租、求租信息,合租房屋信息,新聞公告信息。通過對系統(tǒng)進行仔細(xì)分析以后,需要4個數(shù)據(jù)表來實現(xiàn)系統(tǒng)所要儲存的數(shù)據(jù)。表4-1用戶信息表(users)字段名稱數(shù)據(jù)類型長度備注idbigint8Primary,NotNulluseridvarchar20NotNullpasswordvarchar20NotNull表4-2房屋出租、求租信息表(house)字段名稱數(shù)據(jù)類型長度備注idbigint8Primary,NotNullbiaotivarchar4000NotNulljushivarchar100NotNulljiageint4NotNullmianjiint4NotNullmiaoshuvarchar4000NotNullshijianvarchar20NotNullpersonvarchar100NotNullphonevarchar20NotNulltypevarchar100NotNullhostidvarchar20NotNull表4-3房屋合租信息表(house2)字段名稱數(shù)據(jù)類型長度備注idbigint8Primary,NotNullbiaotivarchar4000NotNullfangwuvarchar200NotNullxianzhivarchar200NotNullmianjiint4NotNulljiageint4NotNulldianhuavarchar20NotNullpersonvarchar100NotNullmiaoshuvarchar4000NotNullhostidvarchar100NotNullshijianvarchar20NotNull表4-4新聞公告信息表(gonggao)字段名稱數(shù)據(jù)類型長度備注idbigint8Primary,NotNulltitlevarchar4000NotNullcontentvarchar8000NotNullshijianvarchar22NotNull4.2.3數(shù)據(jù)庫加載和調(diào)試數(shù)據(jù)庫事實階段涉及兩項重要的工作,一項是數(shù)據(jù)的加載,此外一項是應(yīng)用程序的編碼和調(diào)試。加載測試工作貫穿于程序測試工作的全過程,整個錄入、修改、查詢、解決工作均可視為對數(shù)據(jù)庫的加載測試工作。一般數(shù)據(jù)庫中,數(shù)據(jù)量都很很大,并且數(shù)據(jù)來源于部門中的各個不同的單位,數(shù)據(jù)的組織方式、結(jié)構(gòu)和格式都與新設(shè)計的數(shù)據(jù)庫系統(tǒng)有相稱的差距,組織數(shù)據(jù)錄入就要將各類數(shù)據(jù)從各個局部應(yīng)用中抽取出來,輸入計算機,再分類轉(zhuǎn)換,最后綜合成符號新設(shè)計的數(shù)據(jù)庫結(jié)構(gòu)的形式,輸入數(shù)據(jù)庫,因此這樣的數(shù)據(jù)轉(zhuǎn)換、組織入庫的工作是相稱費力費時的工作[10]。特別是原系統(tǒng)是手工數(shù)據(jù)系統(tǒng)時,各類數(shù)據(jù)分散在各種不同原始表格、憑證、單句之中。在向新的數(shù)據(jù)庫系統(tǒng)中輸入數(shù)據(jù)時,還要解決大量的紙質(zhì)文獻,工作量就更大。由于各個不同的應(yīng)用環(huán)境差異很大,不也許有通用的轉(zhuǎn)換器,DBMS產(chǎn)品也不提供通用的轉(zhuǎn)換工具。為提高數(shù)據(jù)輸入工作的效率和質(zhì)量,應(yīng)當(dāng)針對具體的應(yīng)用環(huán)境設(shè)計一個數(shù)據(jù)錄入子系統(tǒng),由計算機來完畢數(shù)據(jù)入庫的任務(wù)。由于要入庫的數(shù)據(jù)在本來的系統(tǒng)中的格式與新系統(tǒng)中不完全同樣,有的差別也許還比較大,不僅向計算機內(nèi)輸入數(shù)據(jù)時容易發(fā)生錯誤,轉(zhuǎn)換過程中也有也許犯錯。因此在原數(shù)據(jù)入庫之前要采用多種方法對它們進行檢查,以防止不對的的數(shù)據(jù)入庫,這部分的工作在整個數(shù)據(jù)輸入子系統(tǒng)中是非常重要的。在設(shè)計數(shù)據(jù)輸入子系統(tǒng)時還要注意原有系統(tǒng)的特點,例如對原有系統(tǒng)是人工數(shù)據(jù)解決系統(tǒng)的情況,盡管新系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)也許與原系統(tǒng)有很大差別,在設(shè)計數(shù)據(jù)輸入子系統(tǒng)時,盡量讓輸入格式與原系統(tǒng)結(jié)構(gòu)相似,這不僅使解決手工文獻比較方便,更重要的是減少用戶犯錯的也許性,保證數(shù)據(jù)輸入的質(zhì)量。數(shù)據(jù)庫應(yīng)用程序的實際應(yīng)當(dāng)與數(shù)據(jù)庫設(shè)計同時進行,因此在組織數(shù)據(jù)入庫的同時還要進行應(yīng)用程序的調(diào)試和分析。4.2.4操作數(shù)據(jù)庫在執(zhí)行查詢動作之前,必須在程序中使用Connection對象的createStatement方法,建立Statement對象,以代表執(zhí)行的SQL語句。連接驅(qū)動,用戶登錄數(shù)據(jù)庫Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");Stringurl="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=edu";Stringuser="sa";//sa為數(shù)據(jù)庫用戶名。Stringpassword="sa";//數(shù)據(jù)庫密碼sa。Connectionconn=DriverManager.getConnection(url,user,password);建立Statement對象Statementstmt=conn.createStatement();執(zhí)行查詢動作,并將查詢結(jié)果以Resultset對象返回。Resultsetrs=stmt.executeQuery("select*fromhouse");取得字段數(shù)據(jù)。使用ResultSet類的get方法,可以從ResultSet對象中,取得當(dāng)前記錄中各個字段的數(shù)據(jù)。4.2功能模塊的設(shè)計與實現(xiàn)4.2.1系統(tǒng)注冊模塊用戶假如想要注冊,則按規(guī)定輸入信息,涉及用戶名,密碼,確認(rèn)密碼,驗證碼。系統(tǒng)解決過程為:系統(tǒng)根據(jù)用戶的輸入信息,一方面查詢數(shù)據(jù)庫,查詢出數(shù)據(jù)庫里的所有的用戶的信息,若是有重名的,則告之“對不起!該用戶已經(jīng)被注冊!”,若是查詢沒有重名的,則告之“恭喜您!該用戶尚未被注冊!”并且驗證用戶輸入的數(shù)據(jù)所有都是合法的數(shù)據(jù),則調(diào)用用戶注冊信息的插入模塊把用戶的注冊信息插入到數(shù)據(jù)庫中。此時頁面提醒注冊成功,返回首頁。圖4-1用戶注冊界面圖4-2注冊成功界面4.2.2系統(tǒng)登錄模塊用戶輸入用戶名和密碼,系統(tǒng)根據(jù)用戶輸入的用戶名字和用戶的密碼,到數(shù)據(jù)庫中去查詢所有用戶的信息,假如沒有該用戶信息,則該用戶不能登錄,需要先進行注冊。假如有該相應(yīng)的該用戶的信息,則說明該用戶是合法的用戶,能成功登錄,此時判斷用戶身份,假如是普通用戶,到系統(tǒng)前臺界面;假如是系統(tǒng)管理員,則轉(zhuǎn)到后臺工作界面。開始開始輸入用戶名和密碼判斷用戶名和密碼是否對的管理員?管理員?錯誤提醒否是否成功登錄后臺界面成功登錄前臺界面結(jié)束是圖4-3登錄判斷流程圖4.2.3普通用戶功能模塊假如用戶未登錄,則可以瀏覽房屋信息,可以對房屋信息進行多種查詢,也可以瀏覽本系統(tǒng)的新聞公告,還可以聯(lián)系本站的管理員,把自己的意見、建議通過E-mail發(fā)送給管理員。假如用戶想要發(fā)布房屋信息,則必須要登錄才干發(fā)布,成功登錄以后,用戶可以瀏覽、搜索、發(fā)布、修改和刪除個人房屋信息,修改個人密碼信息,瀏覽網(wǎng)站新聞公告等。圖4-4未登錄用戶瀏覽房屋信息圖4-5登錄用戶瀏覽新聞公告4.2.4管理員功能模塊管理員是使系統(tǒng)的管理者,維護者。管理員登錄成功以后,可以管理房屋信息,能查看房屋信息發(fā)布具體情況,并可作出刪除管理;可以對注冊會員進行管理,能查看網(wǎng)站系統(tǒng)注冊會員,并可作出刪除管理;還可以管理網(wǎng)站的新聞公告,實行添加、查看、刪除公告等操作。圖4-6管理員管理房屋信息4.2.5信息發(fā)布模塊注冊用戶登錄以后,可以發(fā)布個人房屋信息,房屋信息發(fā)布模塊按類型分為:出租、求租與合租。求租與出租屬性相似,設(shè)計為同一發(fā)布模塊,在信息類型中選擇是出租還是求租。圖4-7房屋出租信息發(fā)布圖圖4-8房屋合租信息發(fā)布圖4.2.6信息查詢模塊根據(jù)本系統(tǒng)特點,系統(tǒng)要有多種查詢功能,能按照各種單項查詢,也能輸入關(guān)鍵字查詢,關(guān)鍵字跟數(shù)據(jù)庫中房屋信息標(biāo)題進行比較,假如查找到數(shù)據(jù)庫中存在相匹配的記錄,將其記錄輸出;假如數(shù)據(jù)庫房屋信息標(biāo)題中不包含該關(guān)鍵字,則提醒用戶:“目前系統(tǒng)內(nèi)還沒有你要查詢的信息!”。圖4-9查詢房屋信息第5章系統(tǒng)測試與維護5.1系統(tǒng)測試系統(tǒng)測試涉及集成兩個或更多的實現(xiàn)系統(tǒng)功能或系統(tǒng)特點的組件。然后再測試這個集成的系統(tǒng)。在反復(fù)開發(fā)軟件的過程中,系統(tǒng)測試涉及測試交給用戶的增長部分。在瀑布解決過程,系統(tǒng)測試涉及測試整個系統(tǒng)。對大部分復(fù)雜的系統(tǒng),系統(tǒng)測試涉及兩個重要的階段:集成測試,在測試過程中,測試團隊可以獲得系統(tǒng)的源代碼。發(fā)現(xiàn)問題后,測試團隊試著找到問題的根源所在,然后確認(rèn)必須得測試的組件。集成測試重要是找出系統(tǒng)中存在的漏洞。開放測試。該版本的系統(tǒng)可以開放給用戶測試,在這個過程中,測試團隊重要是使系統(tǒng)可以滿足用戶的需求,以及保證系統(tǒng)的可靠性。開放測試又稱為黑盒測試,測試團隊只是簡樸的涉及測試系統(tǒng)能否正常的工作,發(fā)現(xiàn)問題后交給開發(fā)團隊解決,他們的工作就是調(diào)試程序。有用戶參與的測試有時候又稱為認(rèn)可測試。假如開放測試的結(jié)果很好,用戶也許就會使用該系統(tǒng)。基本上,你可以把集成測試當(dāng)作是測試由一組系統(tǒng)組件的不完善的系統(tǒng)。開放測試則涉及到測試想要交給用戶使用的系統(tǒng)。自然,兩種測試會存在交搭的部分,特別是由于大量的開放和系統(tǒng)開放不完全,總之,集成測試應(yīng)當(dāng)是優(yōu)先發(fā)現(xiàn)系統(tǒng)中的漏洞,系統(tǒng)測試應(yīng)當(dāng)優(yōu)先使系統(tǒng)可以滿足用戶的需求。然而,事實上,在這些過程中也會存在有效性測試和缺陷測試的成分。1.集成測試系統(tǒng)集成的過程涉及建立一個由其組件構(gòu)成的系統(tǒng),以及測試該集成的系統(tǒng),看是否存在由組件之間互相作用而產(chǎn)生問題。那些集成的組件也許是可重用的組件.對于很多大型的系統(tǒng),所有這三種類型的組件都也許會用到。集成測試檢查這些組件事實上是否一起工作,對的的調(diào)用以及通過它們的接口在適當(dāng)?shù)臅r候傳輸對的的數(shù)據(jù)。系統(tǒng)集成涉及確認(rèn)一組實現(xiàn)部分系統(tǒng)功能的組件,以及通過添加代碼來使它們一起工作。有時候,先是形成系統(tǒng)的整體框架,然后再把組件添加到其中,這叫做自上而下集成。兩者選其一的,你可以先集成提供普通功能的結(jié)構(gòu)組件,像網(wǎng)絡(luò)和數(shù)據(jù)庫接口,然后再添加功能組件,這是自底而上集成。事實上,對于很多系統(tǒng),都采用兩者兼用的集成方法,把結(jié)構(gòu)組件和功能組件都添加到系統(tǒng)中。自頂向下和自底向上的集成過成中,你經(jīng)常不得不填寫額外的代碼,以模擬其他組件和能讓系統(tǒng)運營。在集成測試中產(chǎn)生的只要問題是尋找錯誤。由于系統(tǒng)組件之間存在著復(fù)雜的互相作用,因此,當(dāng)發(fā)現(xiàn)一個異常的輸出時,你也許難以擬定錯誤發(fā)生在哪。為了更容易的知道錯誤所在,你應(yīng)當(dāng)總是使用一種增量的方法去系統(tǒng)集成和測試。最初,你應(yīng)當(dāng)設(shè)計一個小型的系統(tǒng),然后測試它。接著你添加組件到這個系統(tǒng),然后測試添加的那一部分。當(dāng)你要進行集成測試時,你不得不決定各個組件的集成順序,在像XP的操作系統(tǒng)中,用戶涉及到開發(fā)過程和決定在每一次系統(tǒng)添加功能時應(yīng)添加那些功能,因此,系統(tǒng)集成由用戶的優(yōu)先級來驅(qū)動在開發(fā)單個組件的其它方法,特別是開發(fā)集成組件,用戶有也許不參與,而由開發(fā)團隊來決定集成的優(yōu)先順序。在這些情況中,但憑經(jīng)驗的做法是先集成那些實現(xiàn)最常用功能的組件,這意味著那些最常用組件總是最經(jīng)常被測試,例如,在圖書管理系統(tǒng)中,你應(yīng)當(dāng)先集成圖書查詢功能,因此,即使在最小型系統(tǒng)中,用戶可以查詢他們需要的文獻。接著你應(yīng)當(dāng)添加允許用戶下載文獻的功能,然后添加大量執(zhí)行其他系統(tǒng)功能的組件。當(dāng)然,事實很少像這種模型建議的那樣簡樸,系統(tǒng)功能的實現(xiàn)也許需要大量的組件。要測試一項新的功能,你也許不得不集成幾個不同的組件,測試結(jié)果可以揭示這些單個組件和系統(tǒng)其他部分之間互相作用而產(chǎn)生的錯誤。修改測試和集成新的組件會改變已經(jīng)測試完的組件之間的互相作用的模式。在一些簡樸的測試中不能被發(fā)現(xiàn)的錯誤會在這里被檢查出來。這些問題意味著當(dāng)集成一項新的功能時,只要新的測試規(guī)定修改新的系統(tǒng)功能,則重新測試以前增添的功能就顯得非常重要。重新執(zhí)行一系列存在的測試叫做倒退測試。假如倒退測試出現(xiàn)問題,或者是檢查是否是由于新增的模塊而產(chǎn)生了這些問題。很明顯,倒

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論