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