




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
畢業(yè)設(shè)計(jì)(論文)基于B/S結(jié)構(gòu)的房屋出租管理系統(tǒng)計(jì)算機(jī)科學(xué)與技術(shù)2023年6月30號(hào)畢業(yè)論文基于B/S結(jié)構(gòu)的房屋出租管理系統(tǒng)學(xué)生:指導(dǎo)教師:專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)所在單位:答辯日期:2023年6月30日目錄摘要 IAbstract II第1章緒論 11.1課題研究的背景介紹 11.2系統(tǒng)開發(fā)環(huán)境及開發(fā)平臺(tái)介紹 21.2.1系統(tǒng)開發(fā)環(huán)境 21.2.2系統(tǒng)開發(fā)平臺(tái)簡(jiǎn)介 2第2章系統(tǒng)開發(fā)技術(shù)介紹 52.1系統(tǒng)的B/S結(jié)構(gòu) 52.1.1B/S結(jié)構(gòu)簡(jiǎn)介 52.1.2B/S架構(gòu)軟件的優(yōu)勢(shì)與劣勢(shì) 62.1.3B/S框架與C/S框架的聯(lián)系與區(qū)別 72.2JSP技術(shù)概述 82.2.1JSP簡(jiǎn)介 82.2.2JSP技術(shù)的強(qiáng)勢(shì)與弱勢(shì)分析 92.2.3JSP動(dòng)態(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用例圖簡(jiǎn)介 153.2.2系統(tǒng)用例分析 163.3功能分析 16第4章系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 184.1數(shù)據(jù)庫(kù)的設(shè)計(jì)與實(shí)現(xiàn) 184.1.1數(shù)據(jù)庫(kù)SQLServer2023簡(jiǎn)介 184.1.2數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì) 194.2.3數(shù)據(jù)庫(kù)加載和調(diào)試 214.2.4操作數(shù)據(jù)庫(kù) 224.2功能模塊的設(shè)計(jì)與實(shí)現(xiàn) 234.2.1系統(tǒng)注冊(cè)模塊 234.2.2系統(tǒng)登錄模塊 244.2.3普通用戶功能模塊 244.2.4管理員功能模塊 254.2.5信息發(fā)布模塊 264.2.6信息查詢模塊 27第5章系統(tǒng)測(cè)試與維護(hù) 285.1系統(tǒng)測(cè)試 285.2網(wǎng)站維護(hù) 305.2.1維護(hù)內(nèi)容 305.2.2維護(hù)方案 31結(jié)束語(yǔ) 32致謝 33參考資料 34摘要21世紀(jì),隨著計(jì)算機(jī)科學(xué)的發(fā)展,數(shù)據(jù)庫(kù)技術(shù)在Internet中的應(yīng)用越來(lái)越廣泛,為廣大網(wǎng)絡(luò)用戶提供了更加周到和人性化的服務(wù)。個(gè)性化已逐漸成為當(dāng)今Wed應(yīng)用的潮流。如何通過(guò)網(wǎng)絡(luò)有效進(jìn)行交流是擺在我們面前的一個(gè)新的領(lǐng)域。本文闡述了如何構(gòu)造一個(gè)B/S結(jié)構(gòu)的房屋出租管理系統(tǒng),對(duì)B/S結(jié)構(gòu)、JSP技術(shù)以及SQLServer原理進(jìn)行了較進(jìn)一步的論述。闡述了對(duì)房屋出租管理系統(tǒng)的需求分析、功能模塊劃分、數(shù)據(jù)庫(kù)模式分析,功能模塊的實(shí)現(xiàn)過(guò)程。在此基礎(chǔ)上,對(duì)所應(yīng)用的關(guān)鍵技術(shù)進(jìn)行描述。最后,對(duì)程序調(diào)試與調(diào)試結(jié)果進(jìn)行論述。本文在研究目前國(guó)內(nèi)外房屋出租管理系統(tǒng)情況的基礎(chǔ)上,從實(shí)際需求出發(fā),采用當(dāng)前較為流行的B/S(Browser/Server瀏覽器/服務(wù)器)結(jié)構(gòu)和JSP動(dòng)態(tài)網(wǎng)頁(yè)開發(fā)技術(shù),基于WindowsXPProfessional操作系統(tǒng)和SQLServer2023數(shù)據(jù)庫(kù),采用JSP技術(shù),設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)功能較為完善的房屋出租管理系統(tǒng)。通過(guò)對(duì)系統(tǒng)進(jìn)行一系列的需求分析、設(shè)計(jì)、編碼、測(cè)試等工作,該系統(tǒng)普通用戶可以瀏覽、查看房屋信息,可以注冊(cè)成為網(wǎng)站會(huì)員、登陸網(wǎng)站,然后發(fā)布個(gè)人房屋信息,還可以查看該網(wǎng)站的新聞公告等,管理員可以對(duì)網(wǎng)站會(huì)員、房屋信息以及網(wǎng)站的新聞公告進(jìn)行管理。重點(diǎn)對(duì)系統(tǒng)設(shè)計(jì)過(guò)程作了相應(yīng)描述,同時(shí)也對(duì)系統(tǒng)需要改善的地方做了總結(jié)。本系統(tǒng)結(jié)合因特網(wǎng)的發(fā)展、應(yīng)用現(xiàn)狀,采用了基于WEB的三層體系架構(gòu),即瀏覽器——WEB應(yīng)用服務(wù)器——數(shù)據(jù)庫(kù)服務(wù)器。通過(guò)對(duì)系統(tǒng)工作流程進(jìn)行具體需求分析,建立了系統(tǒng)的功能模型和數(shù)據(jù)流模型。擬定系統(tǒng)的數(shù)據(jù)模型為關(guān)系數(shù)據(jù)模型,進(jìn)行了分析、設(shè)計(jì)、畫出了E-R圖。后臺(tái)數(shù)據(jù)庫(kù)選用了SQLServer2023來(lái)實(shí)現(xiàn)。WEB開發(fā)采用當(dāng)前流行的JSP(JavaServerPages,動(dòng)態(tài)網(wǎng)頁(yè)技術(shù))技術(shù),JSP頁(yè)面通過(guò)JDBC(JavaDatabaseConnectivity,Java數(shù)據(jù)庫(kù)連接)接口連接SQLServer2023數(shù)據(jù)庫(kù),實(shí)現(xiàn)了瀏覽器端和服務(wù)器端的程序。系統(tǒng)通過(guò)測(cè)試,運(yùn)營(yí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課題研究的背景介紹隨著社會(huì)經(jīng)濟(jì)的發(fā)展,城市現(xiàn)代化建設(shè)步伐不斷加快,城市規(guī)模不斷擴(kuò)大,人員的流動(dòng)也不斷加大,房屋出租逐漸成為社會(huì)生活的重要組成部分。無(wú)論是房屋出租還是房屋求租,都面臨著大量需求。說(shuō)到房屋出租,我們一方面想到的就是房屋中介,但是不管對(duì)于房屋出租者還是對(duì)于求租者來(lái)說(shuō),要面對(duì)的問題實(shí)在讓人頭疼,一方面是琳瑯滿目的中介公司讓人感到無(wú)從選擇,在要顧及中介單位可信度的同時(shí),大量復(fù)雜的房產(chǎn)信息使他們感到迷茫,難以快速、準(zhǔn)確地從中找到適合自己的房屋信息。再者,出租、承租雙方進(jìn)行交易的時(shí)候還要通過(guò)中介,使交易過(guò)程更加繁瑣。并且中介單位還要收取的一定比例的中介費(fèi)用,這也在一定限度上加重了房屋承租者的承擔(dān)。因此,現(xiàn)實(shí)社會(huì)中急需一個(gè)第三者為房屋出租者與房屋求租者牽線搭橋,來(lái)填補(bǔ)中介單位的種種局限性。在互聯(lián)網(wǎng)蓬勃發(fā)展的今天,網(wǎng)絡(luò)和我們的生活、工作越來(lái)越密不可分,網(wǎng)絡(luò)正領(lǐng)導(dǎo)著一個(gè)新時(shí)代的來(lái)臨。于是我們就運(yùn)用開放的Internet技術(shù),開發(fā)出實(shí)時(shí)、快捷、全方位傳播信息的平臺(tái),我們制作的房屋出租管理系統(tǒng)的網(wǎng)站,就成了人們關(guān)于生活中住房問題的信息載體,使得房屋信息在出租者與求租者之間傳播更為輕松。這樣,使原本復(fù)雜的房屋信息簡(jiǎn)樸化,系統(tǒng)能及時(shí)為他們提供服務(wù),使出租求租雙方都可以方便快捷的得到信息。通過(guò)本系統(tǒng)來(lái)管理房屋出租情況,可以解決大量房屋信息的查詢和管理,便于房屋出租者更好的發(fā)布其房屋信息,同時(shí)也為租房者提供方便。并且可以培養(yǎng)我們的綜合分析設(shè)計(jì)能力,同時(shí)提高動(dòng)手實(shí)踐的能力。1.2系統(tǒng)開發(fā)環(huán)境及開發(fā)平臺(tái)介紹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ù)庫(kù):SQLServer2023;開發(fā)工具包:JDK1.5.0;JSP服務(wù)器:Tomcat6.0;瀏覽器:IE7.0。1.2.2系統(tǒng)開發(fā)平臺(tái)簡(jiǎn)介1.系統(tǒng)開發(fā)平臺(tái)本系統(tǒng)開發(fā)語(yǔ)言選用Java,JSP,所以采用MyEclipse,Tomcat為重要開發(fā)工具,然后結(jié)合Dreamweaver,SQLServer2023數(shù)據(jù)庫(kù)管理系統(tǒng)與WindowsXP操作系統(tǒng)進(jìn)行。既考慮了系統(tǒng)的需求,又兼顧了運(yùn)營(yíng)的效率,以及此后系統(tǒng)的功能拓展等。2.Tomcat簡(jiǎn)介如今,基于Web的應(yīng)用越來(lái)越多,傳統(tǒng)的Html已經(jīng)滿足不了如今的需求。我們需要一個(gè)交互式的Web,于是便誕生了各種Web語(yǔ)言。如Asp,Jsp,Php等。當(dāng)然,這些語(yǔ)言與傳統(tǒng)的語(yǔ)言有著密切的聯(lián)系,如Php基于C和C++語(yǔ)言,Jsp基于Java語(yǔ)言。Tomcat即是一個(gè)Jsp和Servlet的運(yùn)營(yíng)平臺(tái)。Tomcat是一個(gè)免費(fèi)的開源的Serlvet容器,它是Apache基金會(huì)的Jakarta項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache,Sun和其它一些公司及個(gè)人共同開發(fā)而成。由于有了Sun的參與和支持,最新的Servlet和Jsp規(guī)范總能在Tomcat中得到體現(xiàn)。Tomcat被JavaWorld雜志的編輯選為2023年度最具創(chuàng)新的java產(chǎn)品,可見其在業(yè)界的地位。在Tomcat中,應(yīng)用程序的部署很簡(jiǎn)樸,你只需將你的WAR放到Tomcat的webapp目錄下,Tomcat會(huì)自動(dòng)檢測(cè)到這個(gè)文獻(xiàn),并將其解壓。你在瀏覽器中訪問這個(gè)應(yīng)用的Jsp時(shí),通常第一次會(huì)很慢,由于Tomcat要將Jsp轉(zhuǎn)化為Servlet文獻(xiàn),然后編譯。編譯以后,訪問將會(huì)不久。此外Tomcat也提供了一個(gè)應(yīng)用:manager,訪問這個(gè)應(yīng)用需要用戶名和密碼,用戶名和密碼存儲(chǔ)在一個(gè)xml文獻(xiàn)中。通過(guò)這個(gè)應(yīng)用,輔助于Ftp,你可以在遠(yuǎn)程通過(guò)Web部署和撤消應(yīng)用。當(dāng)然本地也可以。Tomcat有三種工作模式,分別是獨(dú)立的Servlet容器、進(jìn)程內(nèi)的Servlet容器和進(jìn)程外的Servlet容器。在運(yùn)用其進(jìn)行開發(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存放啟動(dòng)和關(guān)閉Tomcat的各種腳本文獻(xiàn)/conf存放Tomcat服務(wù)器的各種配置文獻(xiàn)/server/lib包含了3個(gè)子目錄:即classes、lib、webapps;/server/webapps存放Tomcat服務(wù)器所需要的各種JAR文獻(xiàn)/common/lib存放Tomcat自帶的兩個(gè)Web應(yīng)用:admin應(yīng)用和manager應(yīng)用/Shared/lib存放Tomcat服務(wù)器及所有Web應(yīng)用都可以訪問的JAR文獻(xiàn)l/ogs存在所有Web應(yīng)用都可以訪問的JAR文獻(xiàn)/webapps當(dāng)發(fā)布Web應(yīng)用時(shí),默認(rèn)情況下把Web應(yīng)用放在此目錄下/workTomcat把JSP生成的Servlet放在此目錄下Tomcat不僅僅是一個(gè)Servlet容器,它也具有傳統(tǒng)的Web服務(wù)器的功能:解決Html頁(yè)面。但是與Apache相比,它的解決靜態(tài)Html的能力就不如Apache.我們可以將Tomcat和Apache集成到一塊,讓Apache解決靜態(tài)Html,而Tomcat解決Jsp和Servlet.這種集成只需要修改一下Apache和Tomcat的配置文獻(xiàn)即可?;赥omcat的開發(fā)其實(shí)重要是Jsp和Servlet的開發(fā),開發(fā)Jsp和Servlet非常簡(jiǎn)樸,你可以用普通的文本編輯器或者IDE,然后將其打包成WAR即可。我們這里要提到此外一個(gè)工具Ant,Ant也是Jakarta中的一個(gè)子項(xiàng)目,它所實(shí)現(xiàn)的功能類似于Unix中的make.你需要寫一個(gè)build.xml文獻(xiàn),然后運(yùn)營(yíng)Ant就可以完畢xml文獻(xiàn)中定義的工作,這個(gè)工具對(duì)于一個(gè)大的應(yīng)用來(lái)說(shuō)非常好,我們只需在xml中寫很少的東西就可以將其編譯并打包成WAR.事實(shí)上,在很多應(yīng)用服務(wù)器的發(fā)布中都包含了Ant.此外,在Jsp1.2中,可以運(yùn)用標(biāo)簽庫(kù)實(shí)現(xiàn)Java代碼與Html文獻(xiàn)的分離,使Jsp的維護(hù)更方便。Tomcat的確是一個(gè)很好的工具,不僅僅由于其免費(fèi),功能強(qiáng)大,更由于其開放性。如今,開源軟件越來(lái)越收到人們的重視,Linux就是一個(gè)成功的典型。3.MyEclipse簡(jiǎn)介MyEclipse公司級(jí)工作平臺(tái)(MyEclipseEnterpriseWorkbench,簡(jiǎn)稱MyEclipse)是對(duì)EclipseIDE的擴(kuò)展,運(yùn)用它我們可以在數(shù)據(jù)庫(kù)和J2EE的開發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的J2EE集成開發(fā)環(huán)境,涉及了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。簡(jiǎn)樸而言,MyEclipse是Eclipse的插件,也是一款功能強(qiáng)大的J2EE集成開發(fā)環(huán)境,支持代碼編寫、配置、測(cè)試以及除錯(cuò)。Genuitec發(fā)布了MyEclipseEnterpriseWorkbench5.0,更智能、更快捷、更簡(jiǎn)樸和更便宜的J2EE工具的新版本的誕生。它的價(jià)格對(duì)于個(gè)人和公司開發(fā)人員來(lái)說(shuō)都是非常有吸引力的。這是J2EEIDE市場(chǎng)一個(gè)重量級(jí)的選手。通過(guò)增長(zhǎng)UML雙向建模工具、WYSIWYG的JSP/Strutsdesigner、可視化的Hibernate/ORM工具、Spring和Webservices支持,以及新的Oracle數(shù)據(jù)庫(kù)開發(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)簡(jiǎn)介B/S結(jié)構(gòu):(Browser/Server,瀏覽器/服務(wù)器模式):是WEB興起后的一種網(wǎng)絡(luò)結(jié)構(gòu)模式,WEB瀏覽器是客戶端最重要的應(yīng)用軟件。這種模式統(tǒng)一了客戶端,將系統(tǒng)功能實(shí)現(xiàn)的核心部分集中到服務(wù)器上,簡(jiǎn)化了系統(tǒng)的開發(fā)、維護(hù)和使用??蛻魴C(jī)上只要安裝一個(gè)瀏覽器(Browser),如NetscapeNavigator或InternetExplorer,服務(wù)器安裝Oracle、Sybase、Informix或SQLServer等數(shù)據(jù)庫(kù)。B/S模式體系結(jié)構(gòu)的原理如圖2-1所示,瀏覽器通過(guò)WebServer同數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)交互。Web瀏覽器Web瀏覽器Web服務(wù)器應(yīng)用服務(wù)器HTTP請(qǐng)求HTML界面結(jié)果SQL請(qǐng)求數(shù)據(jù)庫(kù)服務(wù)器圖2-1B/S模式體系結(jié)構(gòu)原理圖B/S最大的優(yōu)點(diǎn)就是可以在任何地方進(jìn)行操作而不用安裝任何專門的軟件。只要有一臺(tái)能上網(wǎng)的電腦就能使用,客戶端零維護(hù)。系統(tǒng)的擴(kuò)展非常容易。B/S結(jié)構(gòu)的使用越來(lái)越多,特別是由需求推動(dòng)了AJAX技術(shù)的發(fā)展,它的程序也能在客戶端電腦上進(jìn)行部分解決,從而大大的減輕了服務(wù)器的承擔(dān);并增長(zhǎng)了交互性,能進(jìn)行局部實(shí)時(shí)刷新。2.1.2B/S架構(gòu)軟件的優(yōu)勢(shì)與劣勢(shì)維護(hù)和升級(jí)方式簡(jiǎn)樸。目前,軟件系統(tǒng)的改善和升級(jí)越來(lái)越頻繁,B/S架構(gòu)的產(chǎn)品明顯體現(xiàn)著更為方便的特性。對(duì)一個(gè)稍微大一點(diǎn)單位來(lái)說(shuō),系統(tǒng)管理人員假如需要在幾百甚至上千部電腦之間來(lái)回奔跑,效率和工作量是可想而知的,但B/S架構(gòu)的軟件只需要管理服務(wù)器就行了,所有的客戶端只是瀏覽器,主線不需要做任何的維護(hù)。無(wú)論用戶的規(guī)模有多大,有多少分支機(jī)構(gòu)都不會(huì)增長(zhǎng)任何維護(hù)升級(jí)的工作量,所有的操作只需要針對(duì)服務(wù)器進(jìn)行;假如是異地,只需要把服務(wù)器連接專網(wǎng)即可,實(shí)現(xiàn)遠(yuǎn)程維護(hù)、升級(jí)和共享。所以客戶機(jī)越來(lái)越“瘦”,而服務(wù)器越來(lái)越“胖”是將來(lái)信息化發(fā)展的主流方向。此后,軟件升級(jí)和維護(hù)會(huì)越來(lái)越容易,而使用起來(lái)會(huì)越來(lái)越簡(jiǎn)樸,這對(duì)用戶人力、物力、時(shí)間、費(fèi)用的節(jié)省是顯而易見的,驚人的。因此,維護(hù)和升級(jí)革命的方式是“瘦”客戶機(jī),“胖”服務(wù)器。成本減少,選擇更多。大家都知道windows在桌面電腦上幾乎一統(tǒng)天下,瀏覽器成為了標(biāo)準(zhǔn)配置,但在服務(wù)器操作系統(tǒng)上windows并不是處在絕對(duì)的統(tǒng)治地位。現(xiàn)在的趨勢(shì)是凡使用B/S架構(gòu)的應(yīng)用管理軟件,只需安裝在Linux服務(wù)器上即可,并且安全性高。所以服務(wù)器操作系統(tǒng)的選擇是很多的,不管選用那種操作系統(tǒng)都可以讓大部分人使用windows作為桌面操作系統(tǒng)電腦不受影響,這就使的最流行免費(fèi)的Linux操作系統(tǒng)快速發(fā)展起來(lái),Linux除了操作系統(tǒng)是免費(fèi)的以外,連數(shù)據(jù)庫(kù)也是免費(fèi)的,這種選擇非常盛行。比如說(shuō)很多人天天上“新浪”網(wǎng),只要安裝了瀏覽器就可以了,并不需要了解“新浪”的服務(wù)器用的是什么操作系統(tǒng),而事實(shí)上大部分網(wǎng)站的確沒有使用windows操作系統(tǒng),但用戶的電腦自身安裝的大部分是windows操作系統(tǒng)。應(yīng)用服務(wù)器運(yùn)營(yíng)數(shù)據(jù)負(fù)荷較重。由于B/S架構(gòu)管理軟件只安裝在服務(wù)器端上,網(wǎng)絡(luò)管理人員只需要管理服務(wù)器就行了,用戶界面重要事務(wù)邏輯在服務(wù)器端完全通過(guò)WWW瀏覽器實(shí)現(xiàn),很少部分事務(wù)邏輯在前端實(shí)現(xiàn),所有的客戶端只有瀏覽器,網(wǎng)絡(luò)管理人員只需要做硬件維護(hù)。但是,應(yīng)用服務(wù)器運(yùn)營(yíng)數(shù)據(jù)負(fù)荷較重,一旦發(fā)生服務(wù)器“崩潰”等問題,后果不堪設(shè)想。因此,許多單位都備有數(shù)據(jù)庫(kù)存儲(chǔ)服務(wù)器,以防萬(wàn)一。2.1.3B/S框架與C/S框架的聯(lián)系與區(qū)別C/S是Client/Server的縮寫。服務(wù)器通常采用高性能的PC、工作站或小型機(jī),并采用大型數(shù)據(jù)庫(kù)系統(tǒng),如Oracle、Sybase、Informix或SQLServer??蛻舳诵枰惭b專用的客戶端軟件。B/S是Brower/Server的縮寫,客戶機(jī)上只要安裝一個(gè)瀏覽器(Browser),如InternetExplorer,服務(wù)器安裝Oracle、Sybase、Informix或SQLServer等數(shù)據(jù)庫(kù)。在這種結(jié)構(gòu)下,用戶界面完全通過(guò)WWW瀏覽器實(shí)現(xiàn),一部分事務(wù)邏輯在前端實(shí)現(xiàn),但是重要事務(wù)邏輯在服務(wù)器端實(shí)現(xiàn)。瀏覽器通過(guò)WebServer同數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)交互。C/S與B/S區(qū)別:(1)硬件環(huán)境不同C/S一般建立在專用的網(wǎng)絡(luò)上,小范圍里的網(wǎng)絡(luò)環(huán)境,局域網(wǎng)之間再通過(guò)專門服務(wù)器提供連接和數(shù)據(jù)互換服務(wù)。B/S建立在廣域網(wǎng)之上的,不必是專門的網(wǎng)絡(luò)硬件環(huán)境,例如電話上網(wǎng),租用設(shè)備,信息自己管理。有比C/S更強(qiáng)的適應(yīng)范圍,一般只要有操作系統(tǒng)和瀏覽器就行。(2)對(duì)安全規(guī)定不同C/S一般面向相對(duì)固定的用戶群,對(duì)信息安全的控制能力很強(qiáng)。一般高度機(jī)密的信息系統(tǒng)采用C/S結(jié)構(gòu)適宜??梢酝ㄟ^(guò)B/S發(fā)布部分可公開信息。B/S建立在廣域網(wǎng)之上,對(duì)安全的控制能力相對(duì)弱,也許面向不可知的用戶。(3)對(duì)程序架構(gòu)不同C/S程序可以更加注重流程,可以對(duì)權(quán)限多層次校驗(yàn),對(duì)系統(tǒng)運(yùn)營(yíng)速度可以較少考慮。B/S對(duì)安全以及訪問速度的多重的考慮,建立在需要更加優(yōu)化的基礎(chǔ)之上。比C/S有更高的規(guī)定B/S結(jié)構(gòu)的程序架構(gòu)是發(fā)展的趨勢(shì),從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面對(duì)的多重結(jié)構(gòu),規(guī)定構(gòu)件相對(duì)獨(dú)立的功能,可以相對(duì)較好的重用,就如買來(lái)的餐桌可以再運(yùn)用,而不是做在墻上的石頭桌子。(5)系統(tǒng)維護(hù)不同C/S程序由于整體性,必須整體考察,解決出現(xiàn)的問題以及系統(tǒng)升級(jí)。升級(jí)難,也許要再做一個(gè)全新的系統(tǒng)。B/S構(gòu)件組成,方面構(gòu)件個(gè)別的更換,實(shí)現(xiàn)系統(tǒng)的無(wú)縫升級(jí)。系統(tǒng)維護(hù)開銷減到最小,用戶從網(wǎng)上自己下載安裝就可以實(shí)現(xiàn)升級(jí)。(6)解決問題不同C/S程序可以解決用戶面固定,并且在相同區(qū)域,安全規(guī)定高需求,與操作系統(tǒng)相關(guān),應(yīng)當(dāng)都是相同的系統(tǒng)。B/S建立在廣域網(wǎng)上,面向不同的用戶群,分散地區(qū),這是C/S無(wú)法作到的.與操作系統(tǒng)平臺(tái)關(guān)系最小。(7)用戶接口不同C/S多是建立的Window平臺(tái)上,表現(xiàn)方法有限,對(duì)程序員普遍規(guī)定較高。B/S建立在瀏覽器上,有更加豐富和生動(dòng)的表現(xiàn)方式與用戶交流。并且大部分難度減低,減低開發(fā)成本。(8)信息流不同C/S程序一般是典型的中央集權(quán)的機(jī)械式解決,交互性相對(duì)低。B/S信息流向可變化,B-BB-CB-G等信息、流向的變化,更像交易中心。2.2JSP技術(shù)概述2.2.1JSP簡(jiǎn)介JSP(JavaServerPages)是由SunMicrosystems公司提倡、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn)。JSP技術(shù)有點(diǎn)類似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁(yè)HTML文獻(xiàn)(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標(biāo)記(tag),從而形成JSP文獻(xiàn)(*.jsp)。用JSP開發(fā)的Web應(yīng)用是跨平臺(tái)的,即能在Linux下運(yùn)營(yíng),也能在其他操作系統(tǒng)上運(yùn)營(yíng)。JSP技術(shù)使用Java編程語(yǔ)言編寫類XML的tags和scriptlets,來(lái)封裝產(chǎn)生動(dòng)態(tài)網(wǎng)頁(yè)的解決邏輯。網(wǎng)頁(yè)還能通過(guò)tags和scriptlets訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁(yè)邏輯與網(wǎng)頁(yè)設(shè)計(jì)和顯示分離,支持可重用的基于組件的設(shè)計(jì),使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。Web服務(wù)器在碰到訪問JSP網(wǎng)頁(yè)的請(qǐng)求時(shí),一方面執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文獻(xiàn)中的HTML代碼一起返回給客戶。插入的Java程序段可以操作數(shù)據(jù)庫(kù)、重新定向網(wǎng)頁(yè)等,以實(shí)現(xiàn)建立動(dòng)態(tài)網(wǎng)頁(yè)所需要的功能。JSP與JavaServlet同樣,是在服務(wù)器端執(zhí)行的,通常返回該客戶端的就是一個(gè)HTML文本,因此客戶端只要有瀏覽器就能瀏覽。JSP頁(yè)面由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁(yè)面被客戶端請(qǐng)求以后對(duì)這些Java代碼進(jìn)行解決,然后將生成的HTML頁(yè)面返回給客戶端的瀏覽器。JavaServlet是JSP的技術(shù)基礎(chǔ),并且大型的Web應(yīng)用程序的開發(fā)需要JavaServlet和JSP配合才干完畢。JSP具有了Java技術(shù)的簡(jiǎn)樸易用,完全的面向?qū)ο?,具有平臺(tái)無(wú)關(guān)性且安全可靠,重要面向因特網(wǎng)的所有特點(diǎn)。2.2.2JSP技術(shù)的強(qiáng)勢(shì)與弱勢(shì)分析1.JSP技術(shù)的強(qiáng)勢(shì)(1)一次編寫,到處運(yùn)營(yíng)。在這一點(diǎn)上Java比PHP更杰出,除了系統(tǒng)之外,代碼不用做任何更改。(2)系統(tǒng)的多平臺(tái)支持。基本上可以在所有平臺(tái)上的任意環(huán)境中開發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。相比ASP/PHP的局限性是顯而易見的。(3)強(qiáng)大的可伸縮性。從只有一個(gè)小的Jar文獻(xiàn)就可以運(yùn)營(yíng)Servlet/JSP,到由多臺(tái)服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺(tái)Application進(jìn)行事務(wù)解決,消息解決,一臺(tái)服務(wù)器到無(wú)數(shù)臺(tái)服務(wù)器,Java顯示了一個(gè)巨大的生命力。(4)多樣化和功能強(qiáng)大的開發(fā)工具支持。這一點(diǎn)與ASP很像,Java已有了許多非常優(yōu)秀的開發(fā)工具,并且許多可以免費(fèi)得到,并且其中許多已經(jīng)可以順利的運(yùn)營(yíng)于多種平臺(tái)之下。2.JSP技術(shù)的弱勢(shì)(1)與ASP同樣,Java的一些優(yōu)勢(shì)正是它致命的問題所在。正是由于為了跨平臺(tái)的功能,為了極度的伸縮能力,所以極大的增長(zhǎng)了產(chǎn)品的復(fù)雜性。(2)Java的運(yùn)營(yíng)速度是用class常駐內(nèi)存來(lái)完畢的,所以它在一些情況下所使用的內(nèi)存比起用戶數(shù)量來(lái)說(shuō)的確是“最低性能價(jià)格比”了。從另一方面,它還需要硬盤空間來(lái)儲(chǔ)存一系列的.java文獻(xiàn)和.class文獻(xiàn),以及相應(yīng)的版本文獻(xiàn)。2.2.3JSP動(dòng)態(tài)網(wǎng)站開發(fā)技術(shù)太陽(yáng)微系統(tǒng)公司(SunMicrosystemsInc.)在Web服務(wù)器、應(yīng)用服務(wù)器、交易系統(tǒng)以及開發(fā)工具供應(yīng)商間廣泛支持與合作下,整合并平衡了已經(jīng)存在的對(duì)Java編程環(huán)境(例如JavaServlets和JavaBeans)進(jìn)行支持的技術(shù)和工具后產(chǎn)生了一種新的、開發(fā)基于Web應(yīng)用程序的方法——JavaServerPages技術(shù)(JSP)。這種動(dòng)態(tài)網(wǎng)站開發(fā)技術(shù)的特點(diǎn)是:可以在任何Web或應(yīng)用程序服務(wù)器上運(yùn)營(yíng);
分離了應(yīng)用程序的邏輯和頁(yè)面顯示;可以進(jìn)行快速的開發(fā)和測(cè)試;簡(jiǎn)化了開發(fā)基于Web的交互式應(yīng)用程序的過(guò)程。為了快速方便地進(jìn)行動(dòng)態(tài)網(wǎng)站的開發(fā),JSP在以下幾個(gè)方面做了改善,使其成為快速建立跨平臺(tái)的動(dòng)態(tài)網(wǎng)站的首選方案。(1)將內(nèi)容的生成和顯示進(jìn)行分離用JSP技術(shù),Web頁(yè)面開發(fā)人員可以使用HTML或者XML標(biāo)記來(lái)設(shè)計(jì)和格式化最終頁(yè)面,并使用JSP標(biāo)記或者小腳本來(lái)生成頁(yè)面上的動(dòng)態(tài)內(nèi)容(內(nèi)容是根據(jù)請(qǐng)求變化的,例如請(qǐng)求賬戶信息或者特定的一瓶酒的價(jià)格等)。生成內(nèi)容的邏輯被封裝在標(biāo)記和JavaBeans組件中,并且捆綁在腳本中,所有的腳本在服務(wù)器端運(yùn)營(yíng)。由于核心邏輯被封裝在標(biāo)記和JavaBeans中,所以Web管理人員和頁(yè)面設(shè)計(jì)者,可以編輯和使用JSP頁(yè)面,而不影響內(nèi)容的生成。在服務(wù)器端,JSP引擎解釋JSP標(biāo)記和腳本,生成所請(qǐng)求的內(nèi)容(例如,通過(guò)訪問JavaBeans組件,使用JDBC技術(shù)訪問數(shù)據(jù)庫(kù)或者包含文獻(xiàn)),并且將結(jié)果以HTML(或者XML)頁(yè)面的形式發(fā)送回瀏覽器。這既有助于作者保護(hù)自己的代碼,又能保證任何基于HTML的Web瀏覽器的完全可用性。(2)可重用組件絕大多數(shù)JSP頁(yè)面依賴于可重用的、跨平臺(tái)的組件(JavaBeans或者EnterpriseJavaBeans組件)來(lái)執(zhí)行應(yīng)用程序所規(guī)定的復(fù)雜的解決。開發(fā)人員可以共享和互換執(zhí)行普通操作的組件,或者使得這些組件為更多的使用者和客戶團(tuán)隊(duì)所使用。基于組件的方法加速了總體開發(fā)過(guò)程,并且使得各種組織在他們現(xiàn)有的技能和優(yōu)化結(jié)果的開發(fā)努力中得到平衡。(3)采用標(biāo)記Web頁(yè)面開發(fā)人員不會(huì)都是熟悉腳本語(yǔ)言的編程人員。JSP技術(shù)封裝了許多功能,這些功能是在易用的、與JSP相關(guān)的XML標(biāo)記中進(jìn)行動(dòng)態(tài)內(nèi)容生成所需要的。標(biāo)準(zhǔn)的JSP標(biāo)記可以訪問和實(shí)例化JavaBeans組件,設(shè)立或者檢索組件屬性,下載Applet,以及執(zhí)行用其他方法更難于編碼和耗時(shí)的功能。(4)適應(yīng)平臺(tái)幾乎所有平臺(tái)都支持Java,JSP+JavaBeans幾乎可以在所有平臺(tái)下通行無(wú)阻。從一個(gè)平臺(tái)移植到此外一個(gè)平臺(tái),JSP和JavaBeans甚至不用重新編譯,由于Java字節(jié)碼都是標(biāo)準(zhǔn)的與平臺(tái)無(wú)關(guān)的。(5)數(shù)據(jù)庫(kù)連接Java中連接數(shù)據(jù)庫(kù)的技術(shù)是JDBC,Java程序通過(guò)JDBC驅(qū)動(dòng)程序與數(shù)據(jù)庫(kù)相連,執(zhí)行查詢、提取數(shù)據(jù)等操作。Sun公司還開發(fā)了JDBC-ODBCbridge,運(yùn)用此技術(shù)Java程序可以訪問帶有ODBC驅(qū)動(dòng)程序的數(shù)據(jù)庫(kù),目前大多數(shù)數(shù)據(jù)庫(kù)系統(tǒng)都帶有ODBC驅(qū)動(dòng)程序,所以Java程序能訪問諸如Oracle、Sybase、MSSQLServer和MSAccess等數(shù)據(jù)庫(kù)。此外,通過(guò)開發(fā)標(biāo)記庫(kù),JSP技術(shù)可以進(jìn)一步擴(kuò)展。第三方開發(fā)人員和其別人員可認(rèn)為常用功能創(chuàng)建自己的標(biāo)記庫(kù)。這使得Web頁(yè)面開發(fā)人員可以使用熟悉的工具和如同標(biāo)記同樣的執(zhí)行特定功能的構(gòu)件來(lái)進(jìn)行工作。JSP技術(shù)很容易整合到多種應(yīng)用體系結(jié)構(gòu)中,以運(yùn)用現(xiàn)存的工具和技巧,并且能擴(kuò)展到支持公司級(jí)的分布式應(yīng)用中。作為采用Java技術(shù)家族的一部分,以及Java2(公司版體系結(jié)構(gòu))的一個(gè)組成部分,JSP技術(shù)可以支持高度復(fù)雜的基于Web的應(yīng)用。由于JSP頁(yè)面的內(nèi)置腳本語(yǔ)言是基于Java的,并且所有的JSP頁(yè)面都被編譯成為JavaServlets,所以JSP頁(yè)面具有Java技術(shù)的所有好處,涉及健壯的存儲(chǔ)管理和安全性。作為Java平臺(tái)的一部分,JSP擁有Java編程語(yǔ)言“一次編寫,各處運(yùn)營(yíng)”的特點(diǎn)。運(yùn)用JSP技術(shù),動(dòng)態(tài)信息由JSP頁(yè)面來(lái)表現(xiàn),JSP頁(yè)面由安裝在Web服務(wù)器或者使用JSP的應(yīng)用服務(wù)器上的JSP引擎執(zhí)行。JSP引擎接受客戶端對(duì)JSP頁(yè)面的請(qǐng)求,并且生成JSP頁(yè)面作為對(duì)客戶端的響應(yīng)。JSP頁(yè)面通常被編譯成為JavaServlets,這是一個(gè)標(biāo)準(zhǔn)的Java擴(kuò)展。頁(yè)面開發(fā)人員可以訪問所有的Java應(yīng)用環(huán)境,以運(yùn)用Java技術(shù)的擴(kuò)展性和可移植性。當(dāng)JSP頁(yè)面第一次被調(diào)用時(shí),假如它還不存在,就會(huì)被編譯成為一個(gè)JavaServlets類,并且存儲(chǔ)在服務(wù)器的內(nèi)存中。這就使得在接下來(lái)的對(duì)該頁(yè)面的調(diào)用中,服務(wù)器會(huì)有非??斓捻憫?yīng)(這避免了CGI-BIN為每個(gè)HTTP請(qǐng)求生成一個(gè)新的進(jìn)程的問題)。JSP頁(yè)面可以包含在多種不同的應(yīng)用體系結(jié)構(gòu)或者模型中,可以用于由不同協(xié)議、組件和格式所組成的聯(lián)合體中?;贘SP的動(dòng)態(tài)信息發(fā)布技術(shù)是一個(gè)開放的、可擴(kuò)展的建立動(dòng)態(tài)Web頁(yè)面的標(biāo)準(zhǔn)。不管采用什么創(chuàng)建工具,開發(fā)人員都可以使用JSP頁(yè)面來(lái)創(chuàng)建可移植的Web應(yīng)用,在不同的Web應(yīng)用服務(wù)器上運(yùn)營(yíng)。2.3MVC及Struts介紹2.3.1MVC介紹MVC模式是"Model-View-Controller"的縮寫,中文翻譯為"模式-視圖-控制器"。即把一個(gè)應(yīng)用的輸入、解決、輸出流程按照Model、View、Controller的方式進(jìn)行分離,這樣一個(gè)應(yīng)用被提成三個(gè)層——模型層、視圖層、控制層。視圖(View)代表用戶交互界面,對(duì)于Web應(yīng)用來(lái)說(shuō),可以概括為HTML界面,但有也許為XHTML、XML和Applet。隨著應(yīng)用的復(fù)雜性和規(guī)模性,界面的解決也變得具有挑戰(zhàn)性。一個(gè)應(yīng)用也許有很多不同的視圖,MVC設(shè)計(jì)模式對(duì)于視圖的解決僅限于視圖上數(shù)據(jù)的采集和解決,以及用戶的請(qǐng)求,而不涉及在視圖上的業(yè)務(wù)流程的解決。業(yè)務(wù)流程的解決交予模型(Model)解決。比如一個(gè)訂單的視圖只接受來(lái)自模型的數(shù)據(jù)并顯示給用戶,以及將用戶界面的輸入數(shù)據(jù)和請(qǐng)求傳遞給控制和模型。模型(Model):就是業(yè)務(wù)流程/狀態(tài)的解決以及業(yè)務(wù)規(guī)則的制定。業(yè)務(wù)流程的解決過(guò)程對(duì)其它層來(lái)說(shuō)是黑箱操作,模型接受視圖請(qǐng)求的數(shù)據(jù),并返回最終的解決結(jié)果。業(yè)務(wù)模型的設(shè)計(jì)可以說(shuō)是MVC最重要的核心。目前流行的EJB模型就是一個(gè)典型的應(yīng)用例子,它從應(yīng)用技術(shù)實(shí)現(xiàn)的角度對(duì)模型做了進(jìn)一步的劃分,以便充足運(yùn)用現(xiàn)有的組件,但它不能作為應(yīng)用設(shè)計(jì)模型的框架。它僅僅告訴你按這種模型設(shè)計(jì)就可以運(yùn)用某些技術(shù)組件,從而減少了技術(shù)上的困難。對(duì)一個(gè)開發(fā)者來(lái)說(shuō),就可以專注于業(yè)務(wù)模型的設(shè)計(jì)。MVC設(shè)計(jì)模式告訴我們,把應(yīng)用的模型按一定的規(guī)則抽取出來(lái),抽取的層次很重要,這也是判斷開發(fā)人員是否優(yōu)秀的設(shè)計(jì)依據(jù)。抽象與具體不能隔得太遠(yuǎn),也不能太近。MVC并沒有提供模型的設(shè)計(jì)方法,而只告訴你應(yīng)當(dāng)組織管理這些模型,以便于模型的重構(gòu)和提高重用性。我們可以用對(duì)象編程來(lái)做比方,MVC定義了一個(gè)頂級(jí)類,告訴它的子類你只能做這些,但沒法限制你能做這些。這點(diǎn)對(duì)編程的開發(fā)人員非常重要。業(yè)務(wù)模型尚有一個(gè)很重要的模型那就是數(shù)據(jù)模型。數(shù)據(jù)模型重要指實(shí)體對(duì)象的數(shù)據(jù)保存(連續(xù)化)。比如將一張訂單保存到數(shù)據(jù)庫(kù),從數(shù)據(jù)庫(kù)獲取訂單。我們可以將這個(gè)模型單獨(dú)列出,所有有關(guān)數(shù)據(jù)庫(kù)的操作只限制在該模型中。控制(Controller)可以理解為從用戶接受請(qǐng)求,將模型與視圖匹配在一起,共同完畢用戶的請(qǐng)求。劃分控制層的作用也很明顯,它清楚地告訴你,它就是一個(gè)分發(fā)器,選擇什么樣的模型,選擇什么樣的視圖,可以完畢什么樣的用戶請(qǐng)求??刂茖硬⒉蛔鋈魏蔚臄?shù)據(jù)解決。例如,用戶點(diǎn)擊一個(gè)連接,控制層接受請(qǐng)求后,并不解決業(yè)務(wù)信息,它只把用戶的信息傳遞給模型,告訴模型做什么,選擇符合規(guī)定的視圖返回給用戶。因此,一個(gè)模型也許相應(yīng)多個(gè)視圖,一個(gè)視圖也許相應(yīng)多個(gè)模型。模型、視圖與控制器的分離,使得一個(gè)模型可以具有多個(gè)顯示視圖。假如用戶通過(guò)某個(gè)視圖的控制器改變了模型的數(shù)據(jù),所有其它依賴于這些數(shù)據(jù)的視圖都應(yīng)反映到這些變化。因此,無(wú)論何時(shí)發(fā)生了何種數(shù)據(jù)變化,控制器都會(huì)將變化告知所有的視圖,導(dǎo)致顯示的更新。這事實(shí)上是一種模型的變化-傳播機(jī)制。模型、視圖、控制器三者之間的關(guān)系和各自的重要功能,如圖2-2所示。模型模型封裝應(yīng)用程序狀態(tài)響應(yīng)狀態(tài)查詢應(yīng)用程序功能告知視圖改變視圖解釋模型模型更新請(qǐng)求發(fā)送用戶輸入給控制器允許控制器選擇試圖控制器定義應(yīng)用程序行為用戶動(dòng)作映射成模型更新選擇響應(yīng)的視圖視圖選擇用戶請(qǐng)求狀態(tài)改變狀態(tài)查詢告知改變方法調(diào)用事件圖2-2MVC組件類型的關(guān)系和功能2.3.2Struts介紹Struts是Apache基金會(huì)Jakarta項(xiàng)目組的一個(gè)OpenSource項(xiàng)目,它采用MVC模式,可以很好地幫助java開發(fā)者運(yùn)用J2EE開發(fā)Web應(yīng)用。和其他的java架構(gòu)同樣,Struts也是面向?qū)ο笤O(shè)計(jì),將MVC模式"分離顯示邏輯和業(yè)務(wù)邏輯"的能力發(fā)揮得淋漓盡致。Struts框架的核心是一個(gè)彈性的控制層,基于如JavaServlet,JavaBeans,ResourceBundles與XML等標(biāo)準(zhǔn)技術(shù),以及JakartaCommons的一些類庫(kù)。Struts有一組互相協(xié)作的類(組件)、Serlvet以及jsptaglib組成?;赟truts構(gòu)架的Web應(yīng)用程序基本上符合JSPModel2的設(shè)計(jì)標(biāo)準(zhǔn),可以說(shuō)是一個(gè)傳統(tǒng)MVC設(shè)計(jì)模式的一種變化類型。Struts這個(gè)名字來(lái)源于在建筑和舊式飛機(jī)中使用的支持金屬架。它的目的是為了減少在運(yùn)用MVC設(shè)計(jì)模型來(lái)開發(fā)Web應(yīng)用的時(shí)間。Struts跟Tomcat、Turbine等諸多Apache項(xiàng)目同樣,是開源軟件,這是它的一大優(yōu)點(diǎn),使開發(fā)者能更進(jìn)一步的了解其內(nèi)部實(shí)現(xiàn)機(jī)制。除此之外,Struts的優(yōu)點(diǎn)重要集中體現(xiàn)在兩個(gè)方面:Taglib和頁(yè)面導(dǎo)航。Taglib是Struts的標(biāo)記庫(kù),靈活動(dòng)用,能大大提高開發(fā)效率。此外,就目前國(guó)內(nèi)的JSP開發(fā)者而言,除了使用JSP自帶的常用標(biāo)記外,很少開發(fā)自己的標(biāo)記,或許Struts是一個(gè)很好的起點(diǎn)。第3章系統(tǒng)分析3.1任務(wù)描述為了實(shí)現(xiàn)網(wǎng)絡(luò)化、科學(xué)化、現(xiàn)代化的房屋出租管理,使用JSP、Servlet和JavaBean及數(shù)據(jù)庫(kù)技術(shù)相結(jié)合,編寫一個(gè)B/S結(jié)構(gòu)的房屋出租管理系統(tǒng)。系統(tǒng)的總體設(shè)計(jì)應(yīng)當(dāng)是提供應(yīng)上網(wǎng)瀏覽者一個(gè)高效率,能進(jìn)行豐富的網(wǎng)上活動(dòng)的網(wǎng)站,為網(wǎng)站用戶提供及時(shí)發(fā)布、查詢房屋租賃信息的平臺(tái)。系統(tǒng)目的如下:1.應(yīng)用網(wǎng)絡(luò)的優(yōu)勢(shì),開發(fā)房屋出租信息網(wǎng)站,方便房屋出租者與房屋求租者交流,可以使雙方都能了解彼此需求之后再進(jìn)行交易,從而達(dá)成房屋信息被準(zhǔn)確運(yùn)用的目的。2.網(wǎng)站用戶可以在網(wǎng)站首頁(yè)及時(shí)瀏覽房屋信息,并可以隨時(shí)注冊(cè)賬號(hào),登錄網(wǎng)站發(fā)布個(gè)人房屋信息。3.網(wǎng)站有新聞公告模塊,除了房屋信息,用戶可以瀏覽、閱讀本站公告和時(shí)事新聞。4.管理員控制網(wǎng)站中對(duì)所有用戶的各項(xiàng)信息管理,可以隨時(shí)查看用戶的個(gè)人信息及房屋信息,監(jiān)督并防止用戶錄入非法信息。5.假如網(wǎng)站用戶對(duì)本網(wǎng)站故意見和建議,可以隨時(shí)給網(wǎng)站管理員發(fā)送E-mail進(jìn)行聯(lián)系。3.2用UML用例圖描述系統(tǒng)需求3.2.1用例圖簡(jiǎn)介用例圖用來(lái)描述系統(tǒng)與參與者之間的互相作用,也可以說(shuō)它是從用戶角度出發(fā)對(duì)如何使用系統(tǒng)的描述。一方面要理清下面幾個(gè)概念:角色:角色代表了某一事件發(fā)生的參與者,他用一個(gè)小人表達(dá)。在通常的網(wǎng)絡(luò)項(xiàng)目中,角色常被用來(lái)代表使用網(wǎng)站的用戶(管理員、用戶等),但角色的作用并不局限于此,它也可以用來(lái)代表與系統(tǒng)交互的其他實(shí)體。用例:用例代表系統(tǒng)可以實(shí)現(xiàn)的功能,通常一個(gè)用例代表一組功能,它實(shí)質(zhì)上規(guī)定了系統(tǒng)實(shí)現(xiàn)功能的范圍。在實(shí)際項(xiàng)目開發(fā)過(guò)程中,一個(gè)項(xiàng)目中往往涉及很多個(gè)用例,此時(shí)需要將其分解成若干個(gè)子系統(tǒng)實(shí)現(xiàn),以便于理解。在UML中,用例用一個(gè)橢圓表達(dá)。用例圖:當(dāng)角色與用例發(fā)生某種關(guān)系時(shí),就可以用一個(gè)圖將它們關(guān)聯(lián)起來(lái),這就是用例圖,角色與用例之間使用一個(gè)帶箭頭的實(shí)線連接,箭頭方向代表使用者與被使用者關(guān)系。3.2.2系統(tǒng)用例分析房屋出租管理系統(tǒng)網(wǎng)站允許用戶有兩種身份:普通用戶和管理員,每種身份操作起來(lái)都很方便、快捷。任何普通用戶可以瀏覽、查看房屋租賃信息,但是假如想要發(fā)布個(gè)人的房屋租賃信息,這必須是通過(guò)注冊(cè)、登錄以后的用戶。這些用戶的基本信息都有管理員對(duì)其統(tǒng)一管理。系統(tǒng)網(wǎng)站用例圖如圖3-1所示。注冊(cè)注冊(cè)修改個(gè)人信息發(fā)布房屋信息刪除房屋信息瀏覽新聞公告普通用戶管理用戶信息管理房屋信息管理新聞公告管理員圖3-1系統(tǒng)用例圖3.3功能分析根據(jù)前面對(duì)房屋出租管理系統(tǒng)的分析,可將其劃提成前臺(tái)和后臺(tái)兩部分。前臺(tái)功能重要為網(wǎng)站普通用戶提供,后臺(tái)功能為管理員提供。軟件的重要模塊和功能如下:前臺(tái)功能:1.普通用戶模塊:瀏覽、搜索房屋信息,瀏覽網(wǎng)站新聞公告。
2.注冊(cè)會(huì)員模塊:瀏覽、搜索、發(fā)布、修改和刪除房屋信息,修改個(gè)人密碼信息,瀏覽網(wǎng)站新聞公告。后臺(tái)功能:1.房屋管理:能查看房屋信息發(fā)布具體情況,并可作出刪除管理。
2.注冊(cè)會(huì)員管理:查看網(wǎng)站系統(tǒng)注冊(cè)會(huì)員,并可作出刪除管理。3.新聞公告管理:添加、修改、瀏覽、刪除公告。注冊(cè)登錄注冊(cè)登錄普通用戶個(gè)人信息管理瀏覽功能身份驗(yàn)證房屋信息管理修改個(gè)人信息發(fā)布房屋信息刪除房屋信息查看房屋信息查看新聞公告修改房屋信息登錄登錄管理員用戶信息管理新聞公告管理身份驗(yàn)證房屋信息管理查看用戶信息查看房屋信息刪除房屋信息發(fā)布新聞公告刪除新聞公告刪除用戶信息查看新聞公告圖3-3后臺(tái)功能結(jié)構(gòu)圖第4章系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)4.1數(shù)據(jù)庫(kù)的設(shè)計(jì)與實(shí)現(xiàn)4.1.1數(shù)據(jù)庫(kù)SQLServer2023簡(jiǎn)介MicrosoftSQLServer是一種典型的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),可以在許多操作系統(tǒng)上運(yùn)營(yíng),它使用Transact-SQL語(yǔ)言完畢數(shù)據(jù)操作。由于MicrosoftSQLServer是開放式的系統(tǒng),其它系統(tǒng)可以與它進(jìn)行完好的交互操作。本系統(tǒng)采用的數(shù)據(jù)庫(kù)版本為MicrosoftSQLServer2023,它具有可靠性、可伸縮性、可用性、可管理性等特點(diǎn),為用戶提供完整的數(shù)據(jù)庫(kù)解決方案。美國(guó)Microsoft公司推出的這種關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)。MicrosoftSQLServer是一個(gè)可擴(kuò)展的、高性能的、為分布式客戶機(jī)/服務(wù)器計(jì)算所設(shè)計(jì)的數(shù)據(jù)庫(kù)管理系統(tǒng),實(shí)現(xiàn)了與WindowsNT的有機(jī)結(jié)合,提供了基于事務(wù)的公司級(jí)信息銷售管理系統(tǒng)方案。其重要特點(diǎn)如下:
(1)在公司管理器中有圖形化界面,方便使用,可充足運(yùn)用WindowsNT的優(yōu)勢(shì)。(2)系統(tǒng)管理先進(jìn),支持本地的系統(tǒng)管理和配置。(3)強(qiáng)大的事務(wù)解決功能,采用各種方法保證數(shù)據(jù)的完整性。(4)支持對(duì)稱多解決器結(jié)構(gòu)、存儲(chǔ)過(guò)程、ODBC,并具有自主的SQL語(yǔ)言。MicrosoftSQLServer以其內(nèi)置強(qiáng)大的管理工具、與Internet的緊密集成和開放的系統(tǒng)結(jié)構(gòu)為廣大的用戶、開發(fā)人員和系統(tǒng)集成商提供了一個(gè)杰出的數(shù)據(jù)庫(kù)平臺(tái)。SQL全稱是“結(jié)構(gòu)化查詢語(yǔ)言(StructuredQueryLanguage)”,它的前身是SQUARE語(yǔ)言。SQL語(yǔ)言結(jié)構(gòu)簡(jiǎn)潔,功能強(qiáng)大,簡(jiǎn)樸易學(xué),所以自從推出以來(lái),SQL語(yǔ)言得到了廣泛的應(yīng)用。目前,SQL語(yǔ)言已被擬定為關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)的國(guó)際標(biāo)準(zhǔn),被絕大多數(shù)商業(yè)化關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)采用,如Oracle、Sybase、DB2、Informix、SQLServer這些數(shù)據(jù)庫(kù)管理系統(tǒng)都支持SQL語(yǔ)言作為查詢語(yǔ)言。結(jié)構(gòu)化查詢語(yǔ)言SQL是一種介于關(guān)系代數(shù)與關(guān)系演算之間的語(yǔ)言,其功能涉及查詢、操縱、定義和控制四個(gè)方面,是一個(gè)通用的功能極強(qiáng)的關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言。SQL語(yǔ)言有著非常突出的優(yōu)點(diǎn),重要是:1.非過(guò)程化語(yǔ)言SQL是一個(gè)非過(guò)程化的語(yǔ)言,由于它一次解決一個(gè)記錄,對(duì)數(shù)據(jù)提供自動(dòng)導(dǎo)航。SQL允許用戶在高層的數(shù)據(jù)結(jié)構(gòu)上工作,而不對(duì)單個(gè)記錄進(jìn)行操作,可操作記錄集。所有SQL語(yǔ)句接受集合作為輸入,返回集合作為輸出。SQL的集合特性允許一條SQL語(yǔ)句的結(jié)果作為另一條SQL語(yǔ)句的輸入。SQL不規(guī)定用戶指定對(duì)數(shù)據(jù)的存放方法。這種特性使用戶更易集中精力于要得到的結(jié)果。所有SQL語(yǔ)句使用查詢優(yōu)化器,它是RDBMS的一部分,由它決定對(duì)指定數(shù)據(jù)存取的最快速度的手段。查詢優(yōu)化器知道存在什么索引,哪兒使用合適,而用戶從不需要知道表是否有索引,表有什么類型的索引。2.統(tǒng)一的語(yǔ)言SQL可用于所有用戶的DB活動(dòng)模型,涉及系統(tǒng)管理員、數(shù)據(jù)庫(kù)管理員、應(yīng)用程序員、決策支持系統(tǒng)人員及許多其它類型的終端用戶?;镜腟QL命令只需很少時(shí)間就能學(xué)會(huì),最高級(jí)的命令在幾天內(nèi)便可掌握。SQL為許多任務(wù)提供了命令,涉及:(1)查詢數(shù)據(jù)。(2)在表中插入、修改和刪除記錄。(3)建立、修改和刪除數(shù)據(jù)對(duì)象。(4)控制對(duì)數(shù)據(jù)和數(shù)據(jù)對(duì)象的存取。(5)保證數(shù)據(jù)庫(kù)一致性和完整性。以前的數(shù)據(jù)庫(kù)管理系統(tǒng)為上述各類操作提供單獨(dú)的語(yǔ)言,而SQL將所有任務(wù)統(tǒng)一在一種語(yǔ)言中。3.是所有關(guān)系數(shù)據(jù)庫(kù)的公共語(yǔ)言。SQL是所有關(guān)系數(shù)據(jù)庫(kù)的公共語(yǔ)言由于所有重要的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)都支持SQL語(yǔ)言,用戶可將使用SQL的技能從一個(gè)RDBMS轉(zhuǎn)到另一個(gè)。所有用SQL編寫的程序都是可以移植的。4.1.2數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)將數(shù)據(jù)庫(kù)概念結(jié)構(gòu)轉(zhuǎn)化為MicrosoftSQLServer2023系統(tǒng)所支持的實(shí)際數(shù)據(jù)模型,也就是數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu),系統(tǒng)數(shù)據(jù)庫(kù)名稱為fangwu,數(shù)據(jù)庫(kù)fangwu中包含用戶信息,房屋出租、求租信息,合租房屋信息,新聞公告信息。通過(guò)對(duì)系統(tǒng)進(jìn)行仔細(xì)分析以后,需要4個(gè)數(shù)據(jù)表來(lái)實(shí)現(xiàn)系統(tǒng)所要儲(chǔ)存的數(shù)據(jù)。表4-1用戶信息表(users)字段名稱數(shù)據(jù)類型長(zhǎng)度備注idbigint8Primary,NotNulluseridvarchar20NotNullpasswordvarchar20NotNull表4-2房屋出租、求租信息表(house)字段名稱數(shù)據(jù)類型長(zhǎng)度備注idbigint8Primary,NotNullbiaotivarchar4000NotNulljushivarchar100NotNulljiageint4NotNullmianjiint4NotNullmiaoshuvarchar4000NotNullshijianvarchar20NotNullpersonvarchar100NotNullphonevarchar20NotNulltypevarchar100NotNullhostidvarchar20NotNull表4-3房屋合租信息表(house2)字段名稱數(shù)據(jù)類型長(zhǎng)度備注idbigint8Primary,NotNullbiaotivarchar4000NotNullfangwuvarchar200NotNullxianzhivarchar200NotNullmianjiint4NotNulljiageint4NotNulldianhuavarchar20NotNullpersonvarchar100NotNullmiaoshuvarchar4000NotNullhostidvarchar100NotNullshijianvarchar20NotNull表4-4新聞公告信息表(gonggao)字段名稱數(shù)據(jù)類型長(zhǎng)度備注idbigint8Primary,NotNulltitlevarchar4000NotNullcontentvarchar8000NotNullshijianvarchar22NotNull4.2.3數(shù)據(jù)庫(kù)加載和調(diào)試數(shù)據(jù)庫(kù)事實(shí)階段涉及兩項(xiàng)重要的工作,一項(xiàng)是數(shù)據(jù)的加載,此外一項(xiàng)是應(yīng)用程序的編碼和調(diào)試。加載測(cè)試工作貫穿于程序測(cè)試工作的全過(guò)程,整個(gè)錄入、修改、查詢、解決工作均可視為對(duì)數(shù)據(jù)庫(kù)的加載測(cè)試工作。一般數(shù)據(jù)庫(kù)中,數(shù)據(jù)量都很很大,并且數(shù)據(jù)來(lái)源于部門中的各個(gè)不同的單位,數(shù)據(jù)的組織方式、結(jié)構(gòu)和格式都與新設(shè)計(jì)的數(shù)據(jù)庫(kù)系統(tǒng)有相稱的差距,組織數(shù)據(jù)錄入就要將各類數(shù)據(jù)從各個(gè)局部應(yīng)用中抽取出來(lái),輸入計(jì)算機(jī),再分類轉(zhuǎn)換,最后綜合成符號(hào)新設(shè)計(jì)的數(shù)據(jù)庫(kù)結(jié)構(gòu)的形式,輸入數(shù)據(jù)庫(kù),因此這樣的數(shù)據(jù)轉(zhuǎn)換、組織入庫(kù)的工作是相稱費(fèi)力費(fèi)時(shí)的工作[10]。特別是原系統(tǒng)是手工數(shù)據(jù)系統(tǒng)時(shí),各類數(shù)據(jù)分散在各種不同原始表格、憑證、單句之中。在向新的數(shù)據(jù)庫(kù)系統(tǒng)中輸入數(shù)據(jù)時(shí),還要解決大量的紙質(zhì)文獻(xiàn),工作量就更大。由于各個(gè)不同的應(yīng)用環(huán)境差異很大,不也許有通用的轉(zhuǎn)換器,DBMS產(chǎn)品也不提供通用的轉(zhuǎn)換工具。為提高數(shù)據(jù)輸入工作的效率和質(zhì)量,應(yīng)當(dāng)針對(duì)具體的應(yīng)用環(huán)境設(shè)計(jì)一個(gè)數(shù)據(jù)錄入子系統(tǒng),由計(jì)算機(jī)來(lái)完畢數(shù)據(jù)入庫(kù)的任務(wù)。由于要入庫(kù)的數(shù)據(jù)在本來(lái)的系統(tǒng)中的格式與新系統(tǒng)中不完全同樣,有的差別也許還比較大,不僅向計(jì)算機(jī)內(nèi)輸入數(shù)據(jù)時(shí)容易發(fā)生錯(cuò)誤,轉(zhuǎn)換過(guò)程中也有也許犯錯(cuò)。因此在原數(shù)據(jù)入庫(kù)之前要采用多種方法對(duì)它們進(jìn)行檢查,以防止不對(duì)的的數(shù)據(jù)入庫(kù),這部分的工作在整個(gè)數(shù)據(jù)輸入子系統(tǒng)中是非常重要的。在設(shè)計(jì)數(shù)據(jù)輸入子系統(tǒng)時(shí)還要注意原有系統(tǒng)的特點(diǎn),例如對(duì)原有系統(tǒng)是人工數(shù)據(jù)解決系統(tǒng)的情況,盡管新系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)也許與原系統(tǒng)有很大差別,在設(shè)計(jì)數(shù)據(jù)輸入子系統(tǒng)時(shí),盡量讓輸入格式與原系統(tǒng)結(jié)構(gòu)相似,這不僅使解決手工文獻(xiàn)比較方便,更重要的是減少用戶犯錯(cuò)的也許性,保證數(shù)據(jù)輸入的質(zhì)量。數(shù)據(jù)庫(kù)應(yīng)用程序的實(shí)際應(yīng)當(dāng)與數(shù)據(jù)庫(kù)設(shè)計(jì)同時(shí)進(jìn)行,因此在組織數(shù)據(jù)入庫(kù)的同時(shí)還要進(jìn)行應(yīng)用程序的調(diào)試和分析。4.2.4操作數(shù)據(jù)庫(kù)在執(zhí)行查詢動(dòng)作之前,必須在程序中使用Connection對(duì)象的createStatement方法,建立Statement對(duì)象,以代表執(zhí)行的SQL語(yǔ)句。連接驅(qū)動(dòng),用戶登錄數(shù)據(jù)庫(kù)Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");Stringurl="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=edu";Stringuser="sa";//sa為數(shù)據(jù)庫(kù)用戶名。Stringpassword="sa";//數(shù)據(jù)庫(kù)密碼sa。Connectionconn=DriverManager.getConnection(url,user,password);建立Statement對(duì)象Statementstmt=conn.createStatement();執(zhí)行查詢動(dòng)作,并將查詢結(jié)果以Resultset對(duì)象返回。Resultsetrs=stmt.executeQuery("select*fromhouse");取得字段數(shù)據(jù)。使用ResultSet類的get方法,可以從ResultSet對(duì)象中,取得當(dāng)前記錄中各個(gè)字段的數(shù)據(jù)。4.2功能模塊的設(shè)計(jì)與實(shí)現(xiàn)4.2.1系統(tǒng)注冊(cè)模塊用戶假如想要注冊(cè),則按規(guī)定輸入信息,涉及用戶名,密碼,確認(rèn)密碼,驗(yàn)證碼。系統(tǒng)解決過(guò)程為:系統(tǒng)根據(jù)用戶的輸入信息,一方面查詢數(shù)據(jù)庫(kù),查詢出數(shù)據(jù)庫(kù)里的所有的用戶的信息,若是有重名的,則告之“對(duì)不起!該用戶已經(jīng)被注冊(cè)!”,若是查詢沒有重名的,則告之“恭喜您!該用戶尚未被注冊(cè)!”并且驗(yàn)證用戶輸入的數(shù)據(jù)所有都是合法的數(shù)據(jù),則調(diào)用用戶注冊(cè)信息的插入模塊把用戶的注冊(cè)信息插入到數(shù)據(jù)庫(kù)中。此時(shí)頁(yè)面提醒注冊(cè)成功,返回首頁(yè)。圖4-1用戶注冊(cè)界面圖4-2注冊(cè)成功界面4.2.2系統(tǒng)登錄模塊用戶輸入用戶名和密碼,系統(tǒng)根據(jù)用戶輸入的用戶名字和用戶的密碼,到數(shù)據(jù)庫(kù)中去查詢所有用戶的信息,假如沒有該用戶信息,則該用戶不能登錄,需要先進(jìn)行注冊(cè)。假如有該相應(yīng)的該用戶的信息,則說(shuō)明該用戶是合法的用戶,能成功登錄,此時(shí)判斷用戶身份,假如是普通用戶,到系統(tǒng)前臺(tái)界面;假如是系統(tǒng)管理員,則轉(zhuǎn)到后臺(tái)工作界面。開始開始輸入用戶名和密碼判斷用戶名和密碼是否對(duì)的管理員?管理員?錯(cuò)誤提醒否是否成功登錄后臺(tái)界面成功登錄前臺(tái)界面結(jié)束是圖4-3登錄判斷流程圖4.2.3普通用戶功能模塊假如用戶未登錄,則可以瀏覽房屋信息,可以對(duì)房屋信息進(jìn)行多種查詢,也可以瀏覽本系統(tǒng)的新聞公告,還可以聯(lián)系本站的管理員,把自己的意見、建議通過(guò)E-mail發(fā)送給管理員。假如用戶想要發(fā)布房屋信息,則必須要登錄才干發(fā)布,成功登錄以后,用戶可以瀏覽、搜索、發(fā)布、修改和刪除個(gè)人房屋信息,修改個(gè)人密碼信息,瀏覽網(wǎng)站新聞公告等。圖4-4未登錄用戶瀏覽房屋信息圖4-5登錄用戶瀏覽新聞公告4.2.4管理員功能模塊管理員是使系統(tǒng)的管理者,維護(hù)者。管理員登錄成功以后,可以管理房屋信息,能查看房屋信息發(fā)布具體情況,并可作出刪除管理;可以對(duì)注冊(cè)會(huì)員進(jìn)行管理,能查看網(wǎng)站系統(tǒng)注冊(cè)會(huì)員,并可作出刪除管理;還可以管理網(wǎng)站的新聞公告,實(shí)行添加、查看、刪除公告等操作。圖4-6管理員管理房屋信息4.2.5信息發(fā)布模塊注冊(cè)用戶登錄以后,可以發(fā)布個(gè)人房屋信息,房屋信息發(fā)布模塊按類型分為:出租、求租與合租。求租與出租屬性相似,設(shè)計(jì)為同一發(fā)布模塊,在信息類型中選擇是出租還是求租。圖4-7房屋出租信息發(fā)布圖圖4-8房屋合租信息發(fā)布圖4.2.6信息查詢模塊根據(jù)本系統(tǒng)特點(diǎn),系統(tǒng)要有多種查詢功能,能按照各種單項(xiàng)查詢,也能輸入關(guān)鍵字查詢,關(guān)鍵字跟數(shù)據(jù)庫(kù)中房屋信息標(biāo)題進(jìn)行比較,假如查找到數(shù)據(jù)庫(kù)中存在相匹配的記錄,將其記錄輸出;假如數(shù)據(jù)庫(kù)房屋信息標(biāo)題中不包含該關(guān)鍵字,則提醒用戶:“目前系統(tǒng)內(nèi)還沒有你要查詢的信息!”。圖4-9查詢房屋信息第5章系統(tǒng)測(cè)試與維護(hù)5.1系統(tǒng)測(cè)試系統(tǒng)測(cè)試涉及集成兩個(gè)或更多的實(shí)現(xiàn)系統(tǒng)功能或系統(tǒng)特點(diǎn)的組件。然后再測(cè)試這個(gè)集成的系統(tǒng)。在反復(fù)開發(fā)軟件的過(guò)程中,系統(tǒng)測(cè)試涉及測(cè)試交給用戶的增長(zhǎng)部分。在瀑布解決過(guò)程,系統(tǒng)測(cè)試涉及測(cè)試整個(gè)系統(tǒng)。對(duì)大部分復(fù)雜的系統(tǒng),系統(tǒng)測(cè)試涉及兩個(gè)重要的階段:集成測(cè)試,在測(cè)試過(guò)程中,測(cè)試團(tuán)隊(duì)可以獲得系統(tǒng)的源代碼。發(fā)現(xiàn)問題后,測(cè)試團(tuán)隊(duì)試著找到問題的根源所在,然后確認(rèn)必須得測(cè)試的組件。集成測(cè)試重要是找出系統(tǒng)中存在的漏洞。開放測(cè)試。該版本的系統(tǒng)可以開放給用戶測(cè)試,在這個(gè)過(guò)程中,測(cè)試團(tuán)隊(duì)重要是使系統(tǒng)可以滿足用戶的需求,以及保證系統(tǒng)的可靠性。開放測(cè)試又稱為黑盒測(cè)試,測(cè)試團(tuán)隊(duì)只是簡(jiǎn)樸的涉及測(cè)試系統(tǒng)能否正常的工作,發(fā)現(xiàn)問題后交給開發(fā)團(tuán)隊(duì)解決,他們的工作就是調(diào)試程序。有用戶參與的測(cè)試有時(shí)候又稱為認(rèn)可測(cè)試。假如開放測(cè)試的結(jié)果很好,用戶也許就會(huì)使用該系統(tǒng)?;旧?,你可以把集成測(cè)試當(dāng)作是測(cè)試由一組系統(tǒng)組件的不完善的系統(tǒng)。開放測(cè)試則涉及到測(cè)試想要交給用戶使用的系統(tǒng)。自然,兩種測(cè)試會(huì)存在交搭的部分,特別是由于大量的開放和系統(tǒng)開放不完全,總之,集成測(cè)試應(yīng)當(dāng)是優(yōu)先發(fā)現(xiàn)系統(tǒng)中的漏洞,系統(tǒng)測(cè)試應(yīng)當(dāng)優(yōu)先使系統(tǒng)可以滿足用戶的需求。然而,事實(shí)上,在這些過(guò)程中也會(huì)存在有效性測(cè)試和缺陷測(cè)試的成分。1.集成測(cè)試系統(tǒng)集成的過(guò)程涉及建立一個(gè)由其組件構(gòu)成的系統(tǒng),以及測(cè)試該集成的系統(tǒng),看是否存在由組件之間互相作用而產(chǎn)生問題。那些集成的組件也許是可重用的組件.對(duì)于很多大型的系統(tǒng),所有這三種類型的組件都也許會(huì)用到。集成測(cè)試檢查這些組件事實(shí)上是否一起工作,對(duì)的的調(diào)用以及通過(guò)它們的接口在適當(dāng)?shù)臅r(shí)候傳輸對(duì)的的數(shù)據(jù)。系統(tǒng)集成涉及確認(rèn)一組實(shí)現(xiàn)部分系統(tǒng)功能的組件,以及通過(guò)添加代碼來(lái)使它們一起工作。有時(shí)候,先是形成系統(tǒng)的整體框架,然后再把組件添加到其中,這叫做自上而下集成。兩者選其一的,你可以先集成提供普通功能的結(jié)構(gòu)組件,像網(wǎng)絡(luò)和數(shù)據(jù)庫(kù)接口,然后再添加功能組件,這是自底而上集成。事實(shí)上,對(duì)于很多系統(tǒng),都采用兩者兼用的集成方法,把結(jié)構(gòu)組件和功能組件都添加到系統(tǒng)中。自頂向下和自底向上的集成過(guò)成中,你經(jīng)常不得不填寫額外的代碼,以模擬其他組件和能讓系統(tǒng)運(yùn)營(yíng)。在集成測(cè)試中產(chǎn)生的只要問題是尋找錯(cuò)誤。由于系統(tǒng)組件之間存在著復(fù)雜的互相作用,因此,當(dāng)發(fā)現(xiàn)一個(gè)異常的輸出時(shí),你也許難以擬定錯(cuò)誤發(fā)生在哪。為了更容易的知道錯(cuò)誤所在,你應(yīng)當(dāng)總是使用一種增量的方法去系統(tǒng)集成和測(cè)試。最初,你應(yīng)當(dāng)設(shè)計(jì)一個(gè)小型的系統(tǒng),然后測(cè)試它。接著你添加組件到這個(gè)系統(tǒng),然后測(cè)試添加的那一部分。當(dāng)你要進(jìn)行集成測(cè)試時(shí),你不得不決定各個(gè)組件的集成順序,在像XP的操作系統(tǒng)中,用戶涉及到開發(fā)過(guò)程和決定在每一次系統(tǒng)添加功能時(shí)應(yīng)添加那些功能,因此,系統(tǒng)集成由用戶的優(yōu)先級(jí)來(lái)驅(qū)動(dòng)在開發(fā)單個(gè)組件的其它方法,特別是開發(fā)集成組件,用戶有也許不參與,而由開發(fā)團(tuán)隊(duì)來(lái)決定集成的優(yōu)先順序。在這些情況中,但憑經(jīng)驗(yàn)的做法是先集成那些實(shí)現(xiàn)最常用功能的組件,這意味著那些最常用組件總是最經(jīng)常被測(cè)試,例如,在圖書管理系統(tǒng)中,你應(yīng)當(dāng)先集成圖書查詢功能,因此,即使在最小型系統(tǒng)中,用戶可以查詢他們需要的文獻(xiàn)。接著你應(yīng)當(dāng)添加允許用戶下載文獻(xiàn)的功能,然后添加大量執(zhí)行其他系統(tǒng)功能的組件。當(dāng)然,事實(shí)很少像這種模型建議的那樣簡(jiǎn)樸,系統(tǒng)功能的實(shí)現(xiàn)也許需要大量的組件。要測(cè)試一項(xiàng)新的功能,你也許不得不集成幾個(gè)不同的組件,測(cè)試結(jié)果可以揭示這些單個(gè)組件和系統(tǒng)其他部分之間互相作用而產(chǎn)生的錯(cuò)誤。修改測(cè)試和集成新的組件會(huì)改變已經(jīng)測(cè)試完的組件之間的互相作用的模式。在一些簡(jiǎn)樸的測(cè)試中不能被發(fā)現(xiàn)的錯(cuò)誤會(huì)在這里被檢查出來(lái)。這些問題意味著當(dāng)集成一項(xiàng)新的功能時(shí),只要新的測(cè)試規(guī)定修改新的系統(tǒng)功能,則重新測(cè)試以前增添的功能就顯得非常重要。重新執(zhí)行一系列存在的測(cè)試叫做倒退測(cè)試。假如倒退測(cè)試出現(xiàn)問題,或者是檢查是否是由于新增的模塊而產(chǎn)生了這些問題。很明顯,倒
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 淮陰師范學(xué)院《數(shù)據(jù)統(tǒng)計(jì)分析與spss應(yīng)用》2023-2024學(xué)年第二學(xué)期期末試卷
- 商丘學(xué)院《司法社會(huì)調(diào)查理論與方法》2023-2024學(xué)年第二學(xué)期期末試卷
- 湖南第一師范學(xué)院《世界近代史專題》2023-2024學(xué)年第二學(xué)期期末試卷
- 浙江育英職業(yè)技術(shù)學(xué)院《特殊兒童心理學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 做賬實(shí)操-駕校教練人工成本的核算
- 2024-2025學(xué)年河南省名校大聯(lián)考高二上學(xué)期階段性測(cè)試(二)歷史試卷
- 大連工業(yè)大學(xué)《產(chǎn)品色彩設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 電子科技大學(xué)中山學(xué)院《建筑裝飾材料》2023-2024學(xué)年第二學(xué)期期末試卷
- 洛陽(yáng)理工學(xué)院《工商管理類專業(yè)導(dǎo)論》2023-2024學(xué)年第二學(xué)期期末試卷
- 渭南職業(yè)技術(shù)學(xué)院《醫(yī)學(xué)網(wǎng)站開發(fā)》2023-2024學(xué)年第二學(xué)期期末試卷
- 化工原理Ⅱ?qū)W習(xí)通超星期末考試答案章節(jié)答案2024年
- 2024-2025學(xué)年初中體育與健康九年級(jí)全一冊(cè)人教版(2024)教學(xué)設(shè)計(jì)合集
- 環(huán)保產(chǎn)業(yè)政策及市場(chǎng)發(fā)展趨勢(shì)分析研究
- 2024年河南省高考對(duì)口升學(xué)語(yǔ)文英語(yǔ)試題
- 學(xué)習(xí)白求恩精神,做一個(gè)高尚的人一個(gè)純潔的人
- 《中醫(yī)藥學(xué)概論》期末考試復(fù)習(xí)題庫(kù)(含答案)
- 2024年秋季新外研版三年級(jí)上冊(cè)英語(yǔ)課件 Unit 1 第1課時(shí)(Get ready)
- 單位委托員工辦理水表業(yè)務(wù)委托書
- 2024版《保密法》培訓(xùn)課件
- 2024年內(nèi)蒙古中考地理生物試卷(含答案)
- 廣東省汕尾市汕尾市2024年中考一模英語(yǔ)試題(含答案)
評(píng)論
0/150
提交評(píng)論