版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 目 錄</b></p><p><b> 摘 要I</b></p><p> AbstractII</p><p><b> 第1章 緒論1</b></p><p> 1.1 課題研究的背景介紹1</p><
2、;p> 1.2系統(tǒng)開(kāi)發(fā)環(huán)境及開(kāi)發(fā)平臺(tái)介紹2</p><p> 1.2.1 系統(tǒng)開(kāi)發(fā)環(huán)境2</p><p> 1.2.2 系統(tǒng)開(kāi)發(fā)平臺(tái)簡(jiǎn)介2</p><p> 第2章 系統(tǒng)開(kāi)發(fā)技術(shù)介紹5</p><p> 2.1 系統(tǒng)的B/S結(jié)構(gòu)5</p><p> 2.1.1 B/S結(jié)構(gòu)簡(jiǎn)介5</p
3、><p> 2.1.2 B/S架構(gòu)軟件的優(yōu)勢(shì)與劣勢(shì)6</p><p> 2.1.3 B/S框架與C/S框架的聯(lián)系與區(qū)別7</p><p> 2.2 JSP技術(shù)概述8</p><p> 2.2.1 JSP簡(jiǎn)介8</p><p> 2.2.2 JSP技術(shù)的強(qiáng)勢(shì)與弱勢(shì)分析9</p><p&
4、gt; 2.2.3 JSP動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)技術(shù)10</p><p> 2.3 MVC及Struts介紹12</p><p> 2.3.1 MVC介紹12</p><p> 2.3.2 Struts介紹12</p><p> 第3章 系統(tǒng)分析15</p><p> 3.1任務(wù)描述15</p>
5、;<p> 3.2用UML用例圖描述系統(tǒng)需求15</p><p> 3.2.1用例圖簡(jiǎn)介15</p><p> 3.2.2系統(tǒng)用例分析16</p><p> 3.3功能分析16</p><p> 第4章 系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)18</p><p> 4.1數(shù)據(jù)庫(kù)的設(shè)計(jì)與實(shí)現(xiàn)18</
6、p><p> 4.1.1數(shù)據(jù)庫(kù)SQL Server 2000簡(jiǎn)介18</p><p> 4.1.2數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)19</p><p> 4.2.3數(shù)據(jù)庫(kù)加載和調(diào)試21</p><p> 4.2.4操作數(shù)據(jù)庫(kù)22</p><p> 4.2功能模塊的設(shè)計(jì)與實(shí)現(xiàn)23</p><p>
7、 4.2.1系統(tǒng)注冊(cè)模塊23</p><p> 4.2.2系統(tǒng)登錄模塊24</p><p> 4.2.3普通用戶功能模塊24</p><p> 4.2.4管理員功能模塊25</p><p> 4.2.5信息發(fā)布模塊26</p><p> 4.2.6信息查詢模塊27</p><p
8、> 第5章 系統(tǒng)測(cè)試與維護(hù)28</p><p> 5.1系統(tǒng)測(cè)試28</p><p> 5.2 網(wǎng)站維護(hù)30</p><p> 5.2.1維護(hù)內(nèi)容30</p><p> 5.2.2維護(hù)方案31</p><p><b> 結(jié)束語(yǔ)32</b></p>&l
9、t;p><b> 致謝33</b></p><p><b> 參考資料34</b></p><p><b> 摘 要</b></p><p> 21世紀(jì),隨著計(jì)算機(jī)科學(xué)的發(fā)展,數(shù)據(jù)庫(kù)技術(shù)在Internet 中的應(yīng)用越來(lái)越廣泛,為廣大網(wǎng)絡(luò)用戶提供了更加周到和人性化的服務(wù)。個(gè)性化已逐
10、漸成為當(dāng)今Wed應(yīng)用的潮流。如何通過(guò)網(wǎng)絡(luò)有效進(jìn)行交流是擺在我們面前的一個(gè)新的領(lǐng)域。</p><p> 本文闡述了如何構(gòu)造一個(gè)B/S結(jié)構(gòu)的房屋出租管理系統(tǒng),對(duì)B/S結(jié)構(gòu)、JSP技術(shù)以及SQL Server原理進(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)行論述。</p>&
11、lt;p> 本文在研究目前國(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è)開(kāi)發(fā)技術(shù),基于Windows XP Professional操作系統(tǒng)和SQL Server 2000數(shù)據(jù)庫(kù),采用JSP技術(shù),設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)功能較為完善的房屋出租管理系統(tǒng)。通過(guò)對(duì)系統(tǒng)進(jìn)行一系列的需求分析、設(shè)計(jì)、編碼、測(cè)試等工作,該系統(tǒng)普通用戶可以瀏覽、查看房屋信息
12、,可以注冊(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)需要改進(jìn)的地方做了總結(jié)。</p><p> 本系統(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)行詳細(xì)需求分析,建立了系統(tǒng)的功能模型和數(shù)據(jù)流模型。
13、確定系統(tǒng)的數(shù)據(jù)模型為關(guān)系數(shù)據(jù)模型,進(jìn)行了分析、設(shè)計(jì)、畫出了E-R圖。后臺(tái)數(shù)據(jù)庫(kù)選用了SQL Server 2000來(lái)實(shí)現(xiàn)。WEB開(kāi)發(fā)采用當(dāng)前流行的JSP(Java Server Pages,動(dòng)態(tài)網(wǎng)頁(yè)技術(shù))技術(shù),JSP頁(yè)面通過(guò)JDBC(Java Database Connectivity,Java數(shù)據(jù)庫(kù)連接)接口連接SQL Server 2000數(shù)據(jù)庫(kù),實(shí)現(xiàn)了瀏覽器端和服務(wù)器端的程序。系統(tǒng)經(jīng)過(guò)測(cè)試,運(yùn)行效果穩(wěn)定、操作方便、快捷。能較好的為
14、該系統(tǒng)的房屋出租、求租用戶服務(wù)。</p><p> 關(guān)鍵詞 B/S結(jié)構(gòu);JDBC連接;SQL Server 2000;</p><p><b> Abstract</b></p><p> Along with the development of the computer science in 21 centuries, the da
15、tabase technique is more and more extensive in the application in the Internet, providing the more thoughtful and humanized service for the large network customer. Characteristic have already become gradually the current
16、 as the application of Wed nowadays. How to communicate on the web is a new topic facing us.</p><p> This paper describes how to struct a system to have set forth house to Let management adopt B/S structure
17、's, the paper describes the B/S structure and SQL Server, JSP technology principles. The article complete the needs analysis of an system for the management applications for communication which on the web, functional
18、 modules division and database model analysis. The technology is in progress here to what be applied key on the basis, describe that. Final, comment that to procedure debugging wi</p><p> The discourse acco
19、rding to the practical demand of some users, which is on the base of the situation of the domestic and international recorded at present. adopt currently comparatively popular B/S (Browser/Server) structure and JSP devel
20、opment Web page to develop a technology, 2000 data bases, adopt the JSP technology owing to Windows XP Professional OS and SQL Server, the function having designed and realizing one is comparatively perfect house to Let
21、management system. Through a series of pre</p><p> Internet, application status, using a Web-based three-tier system structure, the browser Web application servers database servers. Through the teacher eval
22、uation process needs to conduct a detailed analysis, establish a system of the model and data model. Identify the data model for relational data model for the analysis, design, which depicts the E-R charts. Selection of
23、the background database SQL Server 2000 is to be achieved. Web develops using current popular JSP (Java Server Pages, Dynamic</p><p> Key Words B/S Structure; JDBC; SQL Server 2000</p><p><
24、;b> 第1章 緒論 </b></p><p> 1.1 課題研究的背景介紹 </p><p> 隨著社會(huì)經(jīng)濟(jì)的發(fā)展,城市現(xiàn)代化建設(shè)步伐不斷加快,城市規(guī)模不斷擴(kuò)大,人員的流動(dòng)也不斷加大,房屋出租逐漸成為社會(huì)生活的重要組成部分。無(wú)論是房屋出租還是房屋求租,都面臨著大量需求。</p><p> 說(shuō)到房屋出租,我們首先想到的就是房屋中介,但是不論
25、對(duì)于房屋出租者還是對(duì)于求租者來(lái)說(shuō),要面對(duì)的問(wèn)題實(shí)在讓人頭疼,首先是琳瑯滿目的中介公司讓人感到無(wú)從選擇,在要顧及中介單位可信度的同時(shí),大量復(fù)雜的房產(chǎn)信息使他們感到迷茫,難以快速、準(zhǔn)確地從中找到適合自己的房屋信息。再者,出租、承租雙方進(jìn)行交易的時(shí)候還要通過(guò)中介,使交易過(guò)程更加繁瑣。而且中介單位還要收取的一定比例的中介費(fèi)用,這也在一定程度上加重了房屋承租者的負(fù)擔(dān)。因此,現(xiàn)實(shí)社會(huì)中急需一個(gè)第三者為房屋出租者與房屋求租者牽線搭橋,來(lái)彌補(bǔ)中介單位的
26、種種不足。</p><p> 在互聯(lián)網(wǎng)蓬勃發(fā)展的今天,網(wǎng)絡(luò)和我們的生活、工作越來(lái)越密不可分,網(wǎng)絡(luò)正領(lǐng)導(dǎo)著一個(gè)新時(shí)代的來(lái)臨。于是我們就利用開(kāi)放的Internet技術(shù),開(kāi)發(fā)出實(shí)時(shí)、快捷、全方位傳播信息的平臺(tái),我們制作的房屋出租管理系統(tǒng)的網(wǎng)站,就成了人們關(guān)于生活中住房問(wèn)題的信息載體,使得房屋信息在出租者與求租者之間傳播更為輕松。這樣,使原本復(fù)雜的房屋信息簡(jiǎn)單化,系統(tǒng)能及時(shí)為他們提供服務(wù),使出租求租雙方都能夠方便快捷的
27、得到信息。通過(guò)本系統(tǒng)來(lái)管理房屋出租情況,可以解決大量房屋信息的查詢和管理,便于房屋出租者更好的發(fā)布其房屋信息,同時(shí)也為租房者提供方便。并且能夠培養(yǎng)我們的綜合分析設(shè)計(jì)能力,同時(shí)提高動(dòng)手實(shí)踐的能力。</p><p> 1.2系統(tǒng)開(kāi)發(fā)環(huán)境及開(kāi)發(fā)平臺(tái)介紹</p><p> 1.2.1 系統(tǒng)開(kāi)發(fā)環(huán)境</p><p><b> 1.硬件環(huán)境</b>&
28、lt;/p><p> CPU:Duo T5600 1.83GHz;</p><p> 內(nèi)存:512MB以上;</p><p><b> 硬盤:100G.。</b></p><p><b> 2.軟件環(huán)境</b></p><p> 操作系統(tǒng):Windows XP;<
29、/p><p> 數(shù)據(jù)庫(kù):SQL Server 2000;</p><p> 開(kāi)發(fā)工具包:JDK1.5.0;</p><p> JSP服務(wù)器:Tomcat6.0;</p><p> 瀏覽器:IE 7.0。</p><p> 1.2.2 系統(tǒng)開(kāi)發(fā)平臺(tái)簡(jiǎn)介</p><p><b>
30、1.系統(tǒng)開(kāi)發(fā)平臺(tái)</b></p><p> 本系統(tǒng)開(kāi)發(fā)語(yǔ)言選用Java,JSP,所以采用MyEclipse,Tomcat為主要開(kāi)發(fā)工具,然后結(jié)合Dreamweaver,SQL Server 2000數(shù)據(jù)庫(kù)管理系統(tǒng)與Windows XP操作系統(tǒng)進(jìn)行。既考慮了系統(tǒng)的需求,又兼顧了運(yùn)行的效率,以及今后系統(tǒng)的功能拓展等。</p><p> 2.Tomcat簡(jiǎn)介</p>
31、<p> 如今,基于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)行平臺(tái)。</p><p> Tomcat是一個(gè)免費(fèi)的開(kāi)源的Serlvet容器,它是Apache基
32、金會(huì)的Jakarta項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache,Sun和其它一些公司及個(gè)人共同開(kāi)發(fā)而成。由于有了Sun的參與和支持,最新的Servlet和Jsp規(guī)范總能在Tomcat中得到體現(xiàn)。Tomcat被JavaWorld雜志的編輯選為2001年度最具創(chuàng)新的java產(chǎn)品,可見(jiàn)其在業(yè)界的地位。</p><p> 在Tomcat中,應(yīng)用程序的部署很簡(jiǎn)單,你只需將你的WAR放到Tomcat的webapp目錄下,Tomc
33、at會(huì)自動(dòng)檢測(cè)到這個(gè)文件,并將其解壓。你在瀏覽器中訪問(wèn)這個(gè)應(yīng)用的Jsp時(shí),通常第一次會(huì)很慢,因?yàn)門omcat要將Jsp轉(zhuǎn)化為Servlet文件,然后編譯。編譯以后,訪問(wèn)將會(huì)很快。另外Tomcat也提供了一個(gè)應(yīng)用:manager,訪問(wèn)這個(gè)應(yīng)用需要用戶名和密碼,用戶名和密碼存儲(chǔ)在一個(gè)xml文件中。通過(guò)這個(gè)應(yīng)用,輔助于Ftp,你可以在遠(yuǎn)程通過(guò)Web部署和撤銷應(yīng)用。當(dāng)然本地也可以。</p><p> Tomcat有三種
34、工作模式,分別是獨(dú)立的Servlet容器、進(jìn)程內(nèi)的Servlet容器和進(jìn)程外的Servlet容器。在利用其進(jìn)行開(kāi)發(fā)之前必須要清楚Tomcat的目錄結(jié)構(gòu)。因?yàn)樗哪夸浗Y(jié)構(gòu)和Web系統(tǒng)的創(chuàng)建和發(fā)布都有著很大的關(guān)系,通常,Tomcat的目錄結(jié)構(gòu)如下表:</p><p> 表1-1 Tomcat的目錄結(jié)構(gòu)</p><p> Tomcat不僅僅是一個(gè)Servlet容器,它也具有傳統(tǒng)的Web服務(wù)
35、器的功能:處理Html頁(yè)面。但是與Apache相比,它的處理靜態(tài)Html的能力就不如Apache.我們可以將Tomcat和Apache集成到一塊,讓Apache處理靜態(tài)Html,而Tomcat處理Jsp和Servlet.這種集成只需要修改一下Apache和Tomcat的配置文件即可。</p><p> 基于Tomcat的開(kāi)發(fā)其實(shí)主要是Jsp和Servlet的開(kāi)發(fā),開(kāi)發(fā)Jsp和Servlet非常簡(jiǎn)單,你可以用普通
36、的文本編輯器或者IDE,然后將其打包成WAR即可。我們這里要提到另外一個(gè)工具Ant,Ant也是Jakarta中的一個(gè)子項(xiàng)目,它所實(shí)現(xiàn)的功能類似于Unix中的make.你需要寫一個(gè)build.xml文件,然后運(yùn)行Ant就可以完成xml文件中定義的工作,這個(gè)工具對(duì)于一個(gè)大的應(yīng)用來(lái)說(shuō)非常好,我們只需在xml中寫很少的東西就可以將其編譯并打包成WAR.事實(shí)上,在很多應(yīng)用服務(wù)器的發(fā)布中都包含了Ant.另外,在Jsp1.2中,可以利用標(biāo)簽庫(kù)實(shí)現(xiàn)Ja
37、va代碼與Html文件的分離,使Jsp的維護(hù)更方便。Tomcat確實(shí)是一個(gè)很好的工具,不僅僅因?yàn)槠涿赓M(fèi),功能強(qiáng)大,更因?yàn)槠溟_(kāi)放性。如今,開(kāi)源軟件越來(lái)越收到人們的重視,Linux就是一個(gè)成功的典型。</p><p> 3.MyEclipse簡(jiǎn)介</p><p> MyEclipse企業(yè)級(jí)工作平臺(tái)(MyEclipse Enterprise Workbench ,簡(jiǎn)稱MyEclipse)是對(duì)
38、Eclipse IDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫(kù)和J2EE的開(kāi)發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的J2EE集成開(kāi)發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。簡(jiǎn)單而言,MyEclipse是Eclipse的插件,也是一款功能強(qiáng)大的J2EE集成開(kāi)發(fā)環(huán)境,支持代碼編寫、配置、測(cè)試以及除錯(cuò)。&l
39、t;/p><p> Genuitec發(fā)布了MyEclipse Enterprise Workbench 5.0,更智能、更快捷、更簡(jiǎn)單和更便宜的J2EE工具的新版本的誕生。它的價(jià)格對(duì)于個(gè)人和企業(yè)開(kāi)發(fā)人員來(lái)說(shuō)都是非常有吸引力的。這是J2EE IDE市場(chǎng)一個(gè)重量級(jí)的選手。通過(guò)增加UML雙向建模工具、WYSIWYG的JSP/Strutsdesigner、可視化的Hibernate/ORM工具、Spring和Web ser
40、vices支持,以及新的Oracle數(shù)據(jù)庫(kù)開(kāi)發(fā),MyEclipse 5.0繼續(xù)為業(yè)界提供全面的產(chǎn)品。</p><p> 第2章 系統(tǒng)開(kāi)發(fā)技術(shù)介紹</p><p> 2.1 系統(tǒng)的B/S結(jié)構(gòu)</p><p> 2.1.1 B/S結(jié)構(gòu)簡(jiǎn)介</p><p> B/S結(jié)構(gòu):(Browser/Server,瀏覽器/服務(wù)器模式):是WEB興起后的
41、一種網(wǎng)絡(luò)結(jié)構(gòu)模式,WEB瀏覽器是客戶端最主要的應(yīng)用軟件。這種模式統(tǒng)一了客戶端,將系統(tǒng)功能實(shí)現(xiàn)的核心部分集中到服務(wù)器上,簡(jiǎn)化了系統(tǒng)的開(kāi)發(fā)、維護(hù)和使用。 </p><p> 客戶機(jī)上只要安裝一個(gè)瀏覽器(Browser),如Netscape Navigator或Internet Explorer,服務(wù)器安裝Oracle、Sybase、Informix或 SQL Server等數(shù)據(jù)庫(kù)。B/S模式體系結(jié)構(gòu)的原理如圖2-1
42、所示,瀏覽器通過(guò)Web Server 同數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)交互。</p><p> 圖2-1 B/S模式體系結(jié)構(gòu)原理圖</p><p> B/S最大的優(yōu)點(diǎn)就是可以在任何地方進(jìn)行操作而不用安裝任何專門的軟件。只要有一臺(tái)能上網(wǎng)的電腦就能使用,客戶端零維護(hù)。系統(tǒng)的擴(kuò)展非常容易。</p><p> B/S結(jié)構(gòu)的使用越來(lái)越多,特別是由需求推動(dòng)了AJAX技術(shù)的發(fā)展,它的程序也
43、能在客戶端電腦上進(jìn)行部分處理,從而大大的減輕了服務(wù)器的負(fù)擔(dān);并增加了交互性,能進(jìn)行局部實(shí)時(shí)刷新。</p><p> 2.1.2 B/S架構(gòu)軟件的優(yōu)勢(shì)與劣勢(shì)</p><p> 維護(hù)和升級(jí)方式簡(jiǎn)單。目前,軟件系統(tǒng)的改進(jìn)和升級(jí)越來(lái)越頻繁,B/S架構(gòu)的產(chǎn)品明顯體現(xiàn)著更為方便的特性。對(duì)一個(gè)稍微大一點(diǎn)單位來(lái)說(shuō),系統(tǒng)管理人員如果需要在幾百甚至上千部電腦之間來(lái)回奔跑,效率和工作量是可想而知的,但B/S
44、架構(gòu)的軟件只需要管理服務(wù)器就行了,所有的客戶端只是瀏覽器,根本不需要做任何的維護(hù)。無(wú)論用戶的規(guī)模有多大,有多少分支機(jī)構(gòu)都不會(huì)增加任何維護(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é)省是顯而易見(jiàn)的,驚人的。因此
45、,維護(hù)和升級(jí)革命的方式是“瘦”客戶機(jī),“胖”服務(wù)器。</p><p> 成本降低,選擇更多。大家都知道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作為桌面
46、操作系統(tǒng)電腦不受影響,這就使的最流行免費(fèi)的Linux操作系統(tǒng)快速發(fā)展起來(lái),Linux除了操作系統(tǒng)是免費(fèi)的以外,連數(shù)據(jù)庫(kù)也是免費(fèi)的,這種選擇非常盛行。</p><p> 比如說(shuō)很多人每天上“新浪”網(wǎng),只要安裝了瀏覽器就可以了,并不需要了解“新浪”的服務(wù)器用的是什么操作系統(tǒng),而事實(shí)上大部分網(wǎng)站確實(shí)沒(méi)有使用windows操作系統(tǒng),但用戶的電腦本身安裝的大部分是windows操作系統(tǒng)。</p><p
47、> 應(yīng)用服務(wù)器運(yùn)行數(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)行數(shù)據(jù)負(fù)荷較重,一旦發(fā)生服務(wù)器“崩潰”等問(wèn)題,后果不堪設(shè)想。因此,許多單位都備有數(shù)據(jù)庫(kù)存儲(chǔ)服務(wù)器,以防萬(wàn)一。</p><p> 2.1.3
48、B/S框架與C/S框架的聯(lián)系與區(qū)別</p><p> C/S是Client/Server的縮寫。服務(wù)器通常采用高性能的PC、工作站或小型機(jī),并采用大型數(shù)據(jù)庫(kù)系統(tǒng),如Oracle、Sybase、 Informix或 SQL Server??蛻舳诵枰惭b專用的客戶端軟件。</p><p> B/S是Brower/Server的縮寫,客戶機(jī)上只要安裝一個(gè)瀏覽器(Browser),如Inter
49、net Explorer,服務(wù)器安裝Oracle、Sybase、Informix或 SQL Server等數(shù)據(jù)庫(kù)。在這種結(jié)構(gòu)下,用戶界面完全通過(guò)WWW瀏覽器實(shí)現(xiàn),一部分事務(wù)邏輯在前端實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端實(shí)現(xiàn)。瀏覽器通過(guò)Web Server 同數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)交互。</p><p> C/S 與 B/S 區(qū)別:</p><p> (1) 硬件環(huán)境不同</p>&l
50、t;p> C/S 一般建立在專用的網(wǎng)絡(luò)上,小范圍里的網(wǎng)絡(luò)環(huán)境,局域網(wǎng)之間再通過(guò)專門服務(wù)器提供連接和數(shù)據(jù)交換服務(wù)。</p><p> B/S 建立在廣域網(wǎng)之上的,不必是專門的網(wǎng)絡(luò)硬件環(huán)境,例如電話上網(wǎng),租用設(shè)備,信息自己管理。有比C/S更強(qiáng)的適應(yīng)范圍,一般只要有操作系統(tǒng)和瀏覽器就行。</p><p> (2) 對(duì)安全要求不同</p><p> C/S 一
51、般面向相對(duì)固定的用戶群,對(duì)信息安全的控制能力很強(qiáng)。一般高度機(jī)密的信息系統(tǒng)采用C/S 結(jié)構(gòu)適宜??梢酝ㄟ^(guò)B/S發(fā)布部分可公開(kāi)信息。</p><p> B/S 建立在廣域網(wǎng)之上,對(duì)安全的控制能力相對(duì)弱,可能面向不可知的用戶。</p><p> (3) 對(duì)程序架構(gòu)不同</p><p> C/S 程序可以更加注重流程,可以對(duì)權(quán)限多層次校驗(yàn),對(duì)系統(tǒng)運(yùn)行速度可以較少考慮。
52、</p><p> B/S 對(duì)安全以及訪問(wèn)速度的多重的考慮,建立在需要更加優(yōu)化的基礎(chǔ)之上。比C/S有更高的要求 B/S結(jié)構(gòu)的程序架構(gòu)是發(fā)展的趨勢(shì),從MS的.Net系列的BizTalk 2000 Exchange 2000等,全面支持網(wǎng)絡(luò)的構(gòu)件搭建的系統(tǒng). SUN 和IBM推的JavaBean構(gòu)件技術(shù)等,使 B/S更加成熟。</p><p> (4) 軟件重用不同</p>
53、<p> C/S 程序可以不可避免的整體性考慮,構(gòu)件的重用性不如在B/S要求下的構(gòu)件的重用性好。</p><p> B/S 面對(duì)的多重結(jié)構(gòu),要求構(gòu)件相對(duì)獨(dú)立的功能,能夠相對(duì)較好的重用,就如買來(lái)的餐桌可以再利用,而不是做在墻上的石頭桌子。</p><p> (5) 系統(tǒng)維護(hù)不同</p><p> C/S 程序由于整體性,必須整體考察,處理出現(xiàn)的問(wèn)題以
54、及系統(tǒng)升級(jí)。升級(jí)難,可能要再做一個(gè)全新的系統(tǒng)。</p><p> B/S 構(gòu)件組成,方面構(gòu)件個(gè)別的更換,實(shí)現(xiàn)系統(tǒng)的無(wú)縫升級(jí)。系統(tǒng)維護(hù)開(kāi)銷減到最小,用戶從網(wǎng)上自己下載安裝就可以實(shí)現(xiàn)升級(jí)。</p><p> (6) 處理問(wèn)題不同</p><p> C/S 程序可以處理用戶面固定,并且在相同區(qū)域,安全要求高需求,與操作系統(tǒng)相關(guān),應(yīng)該都是相同的系統(tǒng)。</p>
55、;<p> B/S 建立在廣域網(wǎng)上,面向不同的用戶群,分散地域,這是C/S無(wú)法作到的. 與操作系統(tǒng)平臺(tái)關(guān)系最小。</p><p> (7) 用戶接口不同</p><p> C/S 多是建立的Window平臺(tái)上,表現(xiàn)方法有限,對(duì)程序員普遍要求較高。</p><p> B/S 建立在瀏覽器上,有更加豐富和生動(dòng)的表現(xiàn)方式與用戶交流。并且大部分難度減低
56、,減低開(kāi)發(fā)成本。</p><p><b> (8) 信息流不同</b></p><p> C/S 程序一般是典型的中央集權(quán)的機(jī)械式處理,交互性相對(duì)低。</p><p> B/S 信息流向可變化, B-B B-C B-G等信息、流向的變化,更像交易中心。</p><p> 2.2 JSP技術(shù)概述</p>
57、<p> 2.2.1 JSP簡(jiǎn)介</p><p> JSP(Java Server Pages)是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn)。JSP技術(shù)有點(diǎn)類似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁(yè)HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標(biāo)記(tag),從而形成JSP文件(*.jsp)。 </p>
58、<p> 用JSP開(kāi)發(fā)的Web應(yīng)用是跨平臺(tái)的,即能在Linux下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行。</p><p> 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èn)存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁(yè)邏輯與網(wǎng)頁(yè)設(shè)計(jì)和顯示分離,支持可重用的基于組件的設(shè)計(jì),使基于Web的應(yīng)用程序的開(kāi)發(fā)變得迅速和
59、容易。 </p><p> Web服務(wù)器在遇到訪問(wèn)JSP網(wǎng)頁(yè)的請(qǐng)求時(shí),首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶。插入的Java程序段可以操作數(shù)據(jù)庫(kù)、重新定向網(wǎng)頁(yè)等,以實(shí)現(xiàn)建立動(dòng)態(tài)網(wǎng)頁(yè)所需要的功能。</p><p> JSP與Java Servlet一樣,是在服務(wù)器端執(zhí)行的,通常返回該客戶端的就是一個(gè)HTML文本,因此客戶端只要有瀏覽器就能瀏覽。&
60、lt;/p><p> JSP頁(yè)面由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁(yè)面被客戶端請(qǐng)求以后對(duì)這些Java代碼進(jìn)行處理,然后將生成的HTML頁(yè)面返回給客戶端的瀏覽器。Java Servlet 是JSP的技術(shù)基礎(chǔ),而且大型的Web應(yīng)用程序的開(kāi)發(fā)需要Java Servlet和JSP配合才能完成。JSP具備了Java技術(shù)的簡(jiǎn)單易用,完全的面向?qū)ο螅哂衅脚_(tái)無(wú)關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點(diǎn)。<
61、/p><p> 2.2.2 JSP技術(shù)的強(qiáng)勢(shì)與弱勢(shì)分析</p><p> 1.JSP技術(shù)的強(qiáng)勢(shì)</p><p> (1)一次編寫,到處運(yùn)行。在這一點(diǎn)上Java比PHP更出色,除了系統(tǒng)之外,代碼不用做任何更改。</p><p> ?。?)系統(tǒng)的多平臺(tái)支持?;旧峡梢栽谒衅脚_(tái)上的任意環(huán)境中開(kāi)發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。相比
62、ASP/PHP的局限性是顯而易見(jiàn)的。 </p><p> (3)強(qiáng)大的可伸縮性。從只有一個(gè)小的Jar文件就可以運(yùn)行Servlet/JSP,到由多臺(tái)服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺(tái)Application進(jìn)行事務(wù)處理,消息處理,一臺(tái)服務(wù)器到無(wú)數(shù)臺(tái)服務(wù)器,Java顯示了一個(gè)巨大的生命力。</p><p> (4)多樣化和功能強(qiáng)大的開(kāi)發(fā)工具支持。這一點(diǎn)與ASP很像,Java已經(jīng)有了許多非常優(yōu)秀
63、的開(kāi)發(fā)工具,而且許多可以免費(fèi)得到,并且其中許多已經(jīng)可以順利的運(yùn)行于多種平臺(tái)之下。</p><p> 2.JSP技術(shù)的弱勢(shì)</p><p> (1) 與ASP一樣,Java的一些優(yōu)勢(shì)正是它致命的問(wèn)題所在。正是由于為了跨平臺(tái)的功能,為了極度的伸縮能力,所以極大的增加了產(chǎn)品的復(fù)雜性。</p><p> (2) Java的運(yùn)行速度是用class常駐內(nèi)存來(lái)完成的,所以它
64、在一些情況下所使用的內(nèi)存比起用戶數(shù)量來(lái)說(shuō)確實(shí)是“最低性能價(jià)格比”了。從另一方面,它還需要硬盤空間來(lái)儲(chǔ)存一系列的.java文件和.class文件,以及對(duì)應(yīng)的版本文件。</p><p> 2.2.3 JSP動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)技術(shù)</p><p> 太陽(yáng)微系統(tǒng)公司(Sun Microsystems Inc.)在Web服務(wù)器、應(yīng)用服務(wù)器、交易系統(tǒng)以及開(kāi)發(fā)工具供應(yīng)商間廣泛支持與合作下,整合并平衡了已經(jīng)
65、存在的對(duì)Java編程環(huán)境(例如Java Servlets和JavaBeans)進(jìn)行支持的技術(shù)和工具后產(chǎn)生了一種新的、開(kāi)發(fā)基于Web應(yīng)用程序的方法——Java Server Pages技術(shù)(JSP)。這種動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)技術(shù)的特點(diǎn)是:能夠在任何Web或應(yīng)用程序服務(wù)器上運(yùn)行; 分離了應(yīng)用程序的邏輯和頁(yè)面顯示; 能夠進(jìn)行快速的開(kāi)發(fā)和測(cè)試; 簡(jiǎn)化了開(kāi)發(fā)基于Web的交互式應(yīng)用程序的過(guò)程。 </p><p>
66、; 為了快速方便地進(jìn)行動(dòng)態(tài)網(wǎng)站的開(kāi)發(fā),JSP在以下幾個(gè)方面做了改進(jìn),使其成為快速建立跨平臺(tái)的動(dòng)態(tài)網(wǎng)站的首選方案。 </p><p> (1) 將內(nèi)容的生成和顯示進(jìn)行分離 </p><p> 用JSP技術(shù),Web頁(yè)面開(kāi)發(fā)人員可以使用HTML或者XML標(biāo)識(shí)來(lái)設(shè)計(jì)和格式化最終頁(yè)面,并使用JSP標(biāo)識(shí)或者小腳本來(lái)生成頁(yè)面上的動(dòng)態(tài)內(nèi)容(內(nèi)容是根據(jù)請(qǐng)求變化的,例如請(qǐng)求賬戶信息或者特定的一瓶酒的價(jià)格
67、等)。生成內(nèi)容的邏輯被封裝在標(biāo)識(shí)和JavaBeans組件中,并且捆綁在腳本中,所有的腳本在服務(wù)器端運(yùn)行。由于核心邏輯被封裝在標(biāo)識(shí)和JavaBeans中,所以Web管理人員和頁(yè)面設(shè)計(jì)者,能夠編輯和使用JSP頁(yè)面,而不影響內(nèi)容的生成。 </p><p> 在服務(wù)器端,JSP引擎解釋JSP標(biāo)識(shí)和腳本,生成所請(qǐng)求的內(nèi)容(例如,通過(guò)訪問(wèn)JavaBeans組件,使用JDBC技術(shù)訪問(wèn)數(shù)據(jù)庫(kù)或者包含文件),并且將結(jié)果以HTML
68、(或者XML)頁(yè)面的形式發(fā)送回瀏覽器。這既有助于作者保護(hù)自己的代碼,又能保證任何基于HTML的Web瀏覽器的完全可用性。 </p><p> (2) 可重用組件 </p><p> 絕大多數(shù)JSP頁(yè)面依賴于可重用的、跨平臺(tái)的組件(JavaBeans或者Enterprise JavaBeans組件)來(lái)執(zhí)行應(yīng)用程序所要求的復(fù)雜的處理。開(kāi)發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,或者使得這些組
69、件為更多的使用者和客戶團(tuán)體所使用?;诮M件的方法加速了總體開(kāi)發(fā)過(guò)程,并且使得各種組織在他們現(xiàn)有的技能和優(yōu)化結(jié)果的開(kāi)發(fā)努力中得到平衡。 </p><p><b> (3) 采用標(biāo)識(shí) </b></p><p> Web頁(yè)面開(kāi)發(fā)人員不會(huì)都是熟悉腳本語(yǔ)言的編程人員。JSP技術(shù)封裝了許多功能,這些功能是在易用的、與JSP相關(guān)的XML標(biāo)識(shí)中進(jìn)行動(dòng)態(tài)內(nèi)容生成所需要的。標(biāo)準(zhǔn)的JS
70、P標(biāo)識(shí)能夠訪問(wèn)和實(shí)例化JavaBeans組件,設(shè)置或者檢索組件屬性,下載Applet,以及執(zhí)行用其他方法更難于編碼和耗時(shí)的功能。 </p><p><b> (4) 適應(yīng)平臺(tái) </b></p><p> 幾乎所有平臺(tái)都支持Java,JSP+JavaBeans幾乎可以在所有平臺(tái)下通行無(wú)阻。從一個(gè)平臺(tái)移植到另外一個(gè)平臺(tái),JSP和JavaBeans甚至不用重新編譯,因?yàn)?/p>
71、Java字節(jié)碼都是標(biāo)準(zhǔn)的與平臺(tái)無(wú)關(guān)的。</p><p> (5) 數(shù)據(jù)庫(kù)連接 </p><p> Java中連接數(shù)據(jù)庫(kù)的技術(shù)是JDBC,Java程序通過(guò)JDBC驅(qū)動(dòng)程序與數(shù)據(jù)庫(kù)相連,執(zhí)行查詢、提取數(shù)據(jù)等操作。Sun公司還開(kāi)發(fā)了JDBC-ODBC bridge,利用此技術(shù)Java程序可以訪問(wèn)帶有ODBC驅(qū)動(dòng)程序的數(shù)據(jù)庫(kù),目前大多數(shù)數(shù)據(jù)庫(kù)系統(tǒng)都帶有ODBC驅(qū)動(dòng)程序,所以Java程序能訪問(wèn)諸
72、如Oracle、Sybase、MS SQL Server和MS Access等數(shù)據(jù)庫(kù)。</p><p> 此外,通過(guò)開(kāi)發(fā)標(biāo)識(shí)庫(kù),JSP技術(shù)可以進(jìn)一步擴(kuò)展。第三方開(kāi)發(fā)人員和其他人員可以為常用功能創(chuàng)建自己的標(biāo)識(shí)庫(kù)。這使得Web頁(yè)面開(kāi)發(fā)人員能夠使用熟悉的工具和如同標(biāo)識(shí)一樣的執(zhí)行特定功能的構(gòu)件來(lái)進(jìn)行工作。 </p><p> JSP技術(shù)很容易整合到多種應(yīng)用體系結(jié)構(gòu)中,以利用現(xiàn)存的工具和技巧,并
73、且能擴(kuò)展到支持企業(yè)級(jí)的分布式應(yīng)用中。作為采用Java技術(shù)家族的一部分,以及Java 2(企業(yè)版體系結(jié)構(gòu))的一個(gè)組成部分,JSP技術(shù)能夠支持高度復(fù)雜的基于Web的應(yīng)用。 </p><p> 由于JSP頁(yè)面的內(nèi)置腳本語(yǔ)言是基于Java的,而且所有的JSP頁(yè)面都被編譯成為Java Servlets,所以JSP頁(yè)面具有Java技術(shù)的所有好處,包括健壯的存儲(chǔ)管理和安全性。作為Java平臺(tái)的一部分,JSP擁有Java編程語(yǔ)
74、言“一次編寫,各處運(yùn)行”的特點(diǎn)。</p><p> 利用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)。</p><p> JSP頁(yè)面通常被編譯成為Java Servlets,這是一個(gè)標(biāo)準(zhǔn)的Java擴(kuò)展。頁(yè)面開(kāi)發(fā)人員能夠訪問(wèn)全部的Java應(yīng)用
75、環(huán)境,以利用Java技術(shù)的擴(kuò)展性和可移植性。當(dāng)JSP頁(yè)面第一次被調(diào)用時(shí),如果它還不存在,就會(huì)被編譯成為一個(gè)Java Servlets類,并且存儲(chǔ)在服務(wù)器的內(nèi)存中。這就使得在接下來(lái)的對(duì)該頁(yè)面的調(diào)用中,服務(wù)器會(huì)有非常快的響應(yīng)(這避免了CGI-BIN為每個(gè)HTTP請(qǐng)求生成一個(gè)新的進(jìn)程的問(wèn)題)。</p><p> JSP頁(yè)面可以包含在多種不同的應(yīng)用體系結(jié)構(gòu)或者模型中,可以用于由不同協(xié)議、組件和格式所組成的聯(lián)合體中。基于
76、JSP的動(dòng)態(tài)信息發(fā)布技術(shù)是一個(gè)開(kāi)放的、可擴(kuò)展的建立動(dòng)態(tài)Web頁(yè)面的標(biāo)準(zhǔn)。不論采用什么創(chuàng)建工具,開(kāi)發(fā)人員都可以使用JSP頁(yè)面來(lái)創(chuàng)建可移植的Web應(yīng)用,在不同的Web應(yīng)用服務(wù)器上運(yùn)行。</p><p> 2.3 MVC及Struts介紹</p><p> 2.3.1 MVC介紹</p><p> MVC模式是"Model-View-Controller&
77、quot;的縮寫,中文翻譯為"模式-視圖-控制器"。即把一個(gè)應(yīng)用的輸入、處理、輸出流程按照Model、View、Controller的方式進(jìn)行分離,這樣一個(gè)應(yīng)用被分成三個(gè)層——模型層、視圖層、控制層。</p><p> 視圖(View)代表用戶交互界面,對(duì)于Web應(yīng)用來(lái)說(shuō),可以概括為HTML界面,但有可能為XHTML、XML和Applet。隨著應(yīng)用的復(fù)雜性和規(guī)模性,界面的處理也變得具有挑戰(zhàn)性
78、。一個(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)求傳遞給控制和模型。 </p><p> 模型(Model):就是業(yè)務(wù)流程/狀態(tài)的處理以及業(yè)務(wù)規(guī)則的制定。業(yè)務(wù)流程的處理過(guò)程對(duì)其它層來(lái)說(shuō)是黑箱操作,模型
79、接受視圖請(qǐng)求的數(shù)據(jù),并返回最終的處理結(jié)果。業(yè)務(wù)模型的設(shè)計(jì)可以說(shuō)是MVC最主要的核心。目前流行的EJB模型就是一個(gè)典型的應(yīng)用例子,它從應(yīng)用技術(shù)實(shí)現(xiàn)的角度對(duì)模型做了進(jìn)一步的劃分,以便充分利用現(xiàn)有的組件,但它不能作為應(yīng)用設(shè)計(jì)模型的框架。它僅僅告訴你按這種模型設(shè)計(jì)就可以利用某些技術(shù)組件,從而減少了技術(shù)上的困難。對(duì)一個(gè)開(kāi)發(fā)者來(lái)說(shuō),就可以專注于業(yè)務(wù)模型的設(shè)計(jì)。MVC設(shè)計(jì)模式告訴我們,把應(yīng)用的模型按一定的規(guī)則抽取出來(lái),抽取的層次很重要,這也是判斷開(kāi)發(fā)
80、人員是否優(yōu)秀的設(shè)計(jì)依據(jù)。抽象與具體不能隔得太遠(yuǎn),也不能太近。MVC并沒(méi)有提供模型的設(shè)計(jì)方法,而只告訴你應(yīng)該組織管理這些模型,以便于模型的重構(gòu)和提高重用性。我們可以用對(duì)象編程來(lái)做比喻,MVC定義了一個(gè)頂級(jí)類,告訴它的子類你只能做這些,但沒(méi)法限制你能做這些。這點(diǎn)對(duì)編程的開(kāi)發(fā)人員非常重要。 </p><p> 業(yè)務(wù)模型還有一個(gè)很重要的模型那就是數(shù)據(jù)模型。數(shù)據(jù)模型主要指實(shí)體對(duì)象的數(shù)據(jù) 保存(持續(xù)化)。比如將一張訂單保存
81、到數(shù)據(jù)庫(kù),從數(shù)據(jù)庫(kù)獲取訂單。我們可以將這個(gè)模型單獨(dú)列出,所有有關(guān)數(shù)據(jù)庫(kù)的操作只限制在該模型中。 </p><p> 控制(Controller)可以理解為從用戶接收請(qǐng)求, 將模型與視圖匹配在一起,共同完成用戶的請(qǐng)求。劃分控制層的作用也很明顯,它清楚地告訴你,它就是一個(gè)分發(fā)器,選擇什么樣的模型,選擇什么樣的視圖,可以完成什么樣的用戶請(qǐng)求。控制層并不做任何的數(shù)據(jù)處理。例如,用戶點(diǎn)擊一個(gè)連接,控制層接受請(qǐng)求后, 并不
82、處理業(yè)務(wù)信息,它只把用戶的信息傳遞給模型,告訴模型做什么,選擇符合要求的視圖返回給用戶。因此,一個(gè)模型可能對(duì)應(yīng)多個(gè)視圖,一個(gè)視圖可能對(duì)應(yīng)多個(gè)模型。</p><p> 模型、視圖與控制器的分離,使得一個(gè)模型可以具有多個(gè)顯示視圖。如果用戶通過(guò)某個(gè)視圖的控制器改變了模型的數(shù)據(jù),所有其它依賴于這些數(shù)據(jù)的視圖都應(yīng)反映到這些變化。因此,無(wú)論何時(shí)發(fā)生了何種數(shù)據(jù)變化,控制器都會(huì)將變化通知所有的視圖,導(dǎo)致顯示的更新。這實(shí)際上是一
83、種模型的變化-傳播機(jī)制。模型、視圖、控制器三者之間的關(guān)系和各自的主要功能,如圖2-2所示。</p><p> 圖2-2 MVC組件類型的關(guān)系和功能</p><p> 2.3.2 Struts介紹</p><p> Struts是Apache 基金會(huì)Jakarta 項(xiàng)目組的一個(gè)Open Source 項(xiàng)目,它采用MVC模式,能夠很好地幫助java 開(kāi)發(fā)者利用J2
84、EE開(kāi)發(fā)Web應(yīng)用。和其他的java架構(gòu)一樣,Struts 也是面向?qū)ο笤O(shè)計(jì),將MVC模式"分離顯示邏輯和業(yè)務(wù)邏輯"的能力發(fā)揮得淋漓盡致。Struts框架的核心是一個(gè)彈性的控制層,基于如 Java Servlet ,JavaBeans,Resource Bundles與XML等標(biāo)準(zhǔn)技術(shù),以及 Jakarta Commons 的一些類庫(kù)。Struts有一組相互協(xié)作的類(組件)、Serlvet以及jsp tag lib組
85、成。基于Struts構(gòu)架的Web應(yīng)用程序基本上符合JSP Model2的設(shè)計(jì)標(biāo)準(zhǔn),可以說(shuō)是一個(gè)傳統(tǒng) MVC設(shè)計(jì)模式的一種變化類型。</p><p> Struts這個(gè)名字來(lái)源于在建筑和舊式飛機(jī)中使用的支持金屬架。它的目的是為了減少在運(yùn)用MVC設(shè)計(jì)模型來(lái)開(kāi)發(fā)Web應(yīng)用的時(shí)間。Struts跟Tomcat、Turbine等諸多Apache項(xiàng)目一樣,是開(kāi)源軟件,這是它的一大優(yōu)點(diǎn),使開(kāi)發(fā)者能更深入的了解其內(nèi)部實(shí)現(xiàn)機(jī)制。除
86、此之外,Struts的優(yōu)點(diǎn)主要集中體現(xiàn)在兩個(gè)方面:Taglib和頁(yè)面導(dǎo)航。Taglib是Struts的標(biāo)記庫(kù),靈活動(dòng)用,能大大提高開(kāi)發(fā)效率。另外,就目前國(guó)內(nèi)的JSP開(kāi)發(fā)者而言,除了使用JSP自帶的常用標(biāo)記外,很少開(kāi)發(fā)自己的標(biāo)記,或許Struts是一個(gè)很好的起點(diǎn)。</p><p><b> 第3章 系統(tǒng)分析</b></p><p><b> 3.1任務(wù)描述
87、</b></p><p> 為了實(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)該是提供給上網(wǎng)瀏覽者一個(gè)高效率,能進(jìn)行豐富的網(wǎng)上活動(dòng)的網(wǎng)站,為網(wǎng)站用戶提供及時(shí)發(fā)布、查詢房屋租賃信息的平臺(tái)。</p><p><b> 系統(tǒng)目標(biāo)如下:</b>&
88、lt;/p><p> 1.應(yīng)用網(wǎng)絡(luò)的優(yōu)勢(shì),開(kāi)發(fā)房屋出租信息網(wǎng)站,方便房屋出租者與房屋求租者交流,可以使雙方都能了解彼此需求之后再進(jìn)行交易,從而達(dá)到房屋信息被準(zhǔn)確利用的目的。</p><p> 2.網(wǎng)站用戶能夠在網(wǎng)站首頁(yè)及時(shí)瀏覽房屋信息,并可以隨時(shí)注冊(cè)賬號(hào),登錄網(wǎng)站發(fā)布個(gè)人房屋信息。</p><p> 3.網(wǎng)站有新聞公告模塊,除了房屋信息,用戶可以瀏覽、閱讀本站公告
89、和時(shí)事新聞。</p><p> 4.管理員控制網(wǎng)站中對(duì)所有用戶的各項(xiàng)信息管理,可以隨時(shí)查看用戶的個(gè)人信息及房屋信息,監(jiān)督并防止用戶錄入非法信息。</p><p> 5.如果網(wǎng)站用戶對(duì)本網(wǎng)站有意見(jiàn)和建議,可以隨時(shí)給網(wǎng)站管理員發(fā)送E-mail進(jìn)行聯(lián)系。</p><p> 3.2用UML用例圖描述系統(tǒng)需求</p><p> 3.2.1用例圖
90、簡(jiǎn)介</p><p> 用例圖用來(lái)描述系統(tǒng)與參與者之間的相互作用,也可以說(shuō)它是從用戶角度出發(fā)對(duì)如何使用系統(tǒng)的描述。首先要理清下面幾個(gè)概念:</p><p> 角色:角色代表了某一事件發(fā)生的參與者,他用一個(gè)小人表示。在通常的網(wǎng)絡(luò)項(xiàng)目中,角色常被用來(lái)代表使用網(wǎng)站的用戶(管理員、用戶等),但角色的作用并不局限于此,它也可以用來(lái)代表與系統(tǒng)交互的其他實(shí)體。</p><p>
91、; 用例:用例代表系統(tǒng)可以實(shí)現(xiàn)的功能,通常一個(gè)用例代表一組功能,它實(shí)質(zhì)上規(guī)定了系統(tǒng)實(shí)現(xiàn)功能的范圍。在實(shí)際項(xiàng)目開(kāi)發(fā)過(guò)程中,一個(gè)項(xiàng)目中往往涉及很多個(gè)用例,此時(shí)需要將其分解成若干個(gè)子系統(tǒng)實(shí)現(xiàn),以便于理解。在UML中,用例用一個(gè)橢圓表示。</p><p> 用例圖:當(dāng)角色與用例發(fā)生某種關(guān)系時(shí),就可以用一個(gè)圖將它們關(guān)聯(lián)起來(lái),這就是用例圖,角色與用例之間使用一個(gè)帶箭頭的實(shí)線連接,箭頭方向代表使用者與被使用者關(guān)系。<
92、/p><p> 3.2.2系統(tǒng)用例分析</p><p> 房屋出租管理系統(tǒng)網(wǎng)站允許用戶有兩種身份:普通用戶和管理員,每種身份操作起來(lái)都很方便、快捷。任何普通用戶可以瀏覽、查看房屋租賃信息,但是如果想要發(fā)布個(gè)人的房屋租賃信息,這必須是經(jīng)過(guò)注冊(cè)、登錄以后的用戶。這些用戶的基本信息都有管理員對(duì)其統(tǒng)一管理。系統(tǒng)網(wǎng)站用例圖如圖3-1所示。</p><p> 圖3-1 系統(tǒng)用
93、例圖</p><p><b> 3.3功能分析</b></p><p> 根據(jù)前面對(duì)房屋出租管理系統(tǒng)的分析,可將其劃分成前臺(tái)和后臺(tái)兩部分。前臺(tái)功能主要為網(wǎng)站普通用戶提供,后臺(tái)功能為管理員提供。</p><p> 軟件的主要模塊和功能如下:</p><p><b> 前臺(tái)功能:</b><
94、/p><p> 1.普通用戶模塊:瀏覽、搜索房屋信息,瀏覽網(wǎng)站新聞公告。2.注冊(cè)會(huì)員模塊:瀏覽、搜索、發(fā)布、修改和刪除房屋信息,修改個(gè)人密碼信息,瀏覽網(wǎng)站新聞公告。</p><p><b> 后臺(tái)功能:</b></p><p> 1.房屋管理:能查看房屋信息發(fā)布詳細(xì)情況,并可作出刪除管理。2.注冊(cè)會(huì)員管理:查看網(wǎng)站系統(tǒng)注冊(cè)會(huì)員,并可作出刪
95、除管理。</p><p> 3.新聞公告管理:添加、修改、瀏覽、刪除公告。</p><p> 圖3-2前臺(tái)功能結(jié)構(gòu)圖</p><p> 圖3-3 后臺(tái)功能結(jié)構(gòu)圖</p><p> 第4章 系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p> 4.1數(shù)據(jù)庫(kù)的設(shè)計(jì)與實(shí)現(xiàn)</p><p> 4.1.1數(shù)據(jù)庫(kù)
96、SQL Server 2000簡(jiǎn)介</p><p> Microsoft SQL Server是一種典型的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),可以在許多操作系統(tǒng)上運(yùn)行,它使用Transact-SQL語(yǔ)言完成數(shù)據(jù)操作。由于Microsoft SQL Server是開(kāi)放式的系統(tǒng),其它系統(tǒng)可以與它進(jìn)行完好的交互操作。本系統(tǒng)采用的數(shù)據(jù)庫(kù)版本為Microsoft SQL Server 2000,它具有可靠性、可伸縮性、可用性、可管理性
97、等特點(diǎn),為用戶提供完整的數(shù)據(jù)庫(kù)解決方案。</p><p> 美國(guó)Microsoft公司推出的這種關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)。Microsoft SQL Server是一個(gè)可擴(kuò)展的、高性能的、為分布式客戶機(jī)/服務(wù)器計(jì)算所設(shè)計(jì)的數(shù)據(jù)庫(kù)管理系統(tǒng),實(shí)現(xiàn)了與Windows NT的有機(jī)結(jié)合,提供了基于事務(wù)的企業(yè)級(jí)信息銷售管理系統(tǒng)方案。其主要特點(diǎn)如下: (1) 在企業(yè)管理器中有圖形化界面,方便使用,可充分利用Windows N
98、T的優(yōu)勢(shì)。</p><p> (2) 系統(tǒng)管理先進(jìn),支持本地的系統(tǒng)管理和配置。</p><p> (3) 強(qiáng)大的事務(wù)處理功能,采用各種方法保證數(shù)據(jù)的完整性。</p><p> (4) 支持對(duì)稱多處理器結(jié)構(gòu)、存儲(chǔ)過(guò)程、ODBC,并具有自主的SQL語(yǔ)言。Microsoft SQL Server以其內(nèi)置強(qiáng)大的管理工具、與Internet的緊密集成和開(kāi)放的系統(tǒng)結(jié)構(gòu)為廣
99、大的用戶、開(kāi)發(fā)人員和系統(tǒng)集成商提供了一個(gè)出眾的數(shù)據(jù)庫(kù)平臺(tái)。</p><p> SQL全稱是“結(jié)構(gòu)化查詢語(yǔ)言(Structured Query Language)”,它的前身是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、Info
100、rmix、SQL Server這些數(shù)據(jù)庫(kù)管理系統(tǒng)都支持SQL語(yǔ)言作為查詢語(yǔ)言。</p><p> 結(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ǔ)言。</p><p> SQL語(yǔ)言有著非常突出的優(yōu)點(diǎn),主要是:</p><p><b> 1.非過(guò)程化語(yǔ)言<
101、/b></p><p> SQL是一個(gè)非過(guò)程化的語(yǔ)言,因?yàn)樗淮翁幚硪粋€(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不要求用戶指定對(duì)數(shù)據(jù)的存放方法。 這種特性使用戶更易集中精力于要得到的結(jié)果。所有SQL語(yǔ)句使用查詢優(yōu)化器,
102、它是RDBMS的一部分,由它決定對(duì)指定數(shù)據(jù)存取的最快速度的手段。查詢優(yōu)化器知道存在什么索引,哪兒使用合適,而用戶從不需要知道表是否有索引,表有什么類型的索引。 </p><p><b> 2.統(tǒng)一的語(yǔ)言</b></p><p> SQL可用于所有用戶的DB活動(dòng)模型,包括系統(tǒng)管理員、數(shù)據(jù)庫(kù)管理員、 應(yīng)用程序員、決策支持系統(tǒng)人員及許多其它類型的終端用戶?;镜腟QL
103、命令只需很少時(shí)間就能學(xué)會(huì),最高級(jí)的命令在幾天內(nèi)便可掌握。 SQL為許多任務(wù)提供了命令,包括:</p><p><b> (1) 查詢數(shù)據(jù)。</b></p><p> (2) 在表中插入、修改和刪除記錄。</p><p> (3) 建立、修改和刪除數(shù)據(jù)對(duì)象。</p><p> (4) 控制對(duì)數(shù)據(jù)和數(shù)據(jù)對(duì)象的存取。&
104、lt;/p><p> (5) 保證數(shù)據(jù)庫(kù)一致性和完整性。</p><p> 以前的數(shù)據(jù)庫(kù)管理系統(tǒng)為上述各類操作提供單獨(dú)的語(yǔ)言,而SQL 將全部任務(wù)統(tǒng)一在一種語(yǔ)言中。</p><p> 3.是所有關(guān)系數(shù)據(jù)庫(kù)的公共語(yǔ)言。</p><p> SQL是所有關(guān)系數(shù)據(jù)庫(kù)的公共語(yǔ)言 由于所有主要的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)都支持SQL語(yǔ)言,用戶可將使用SQL的
105、技能從一個(gè)RDBMS轉(zhuǎn)到另一個(gè)。所有用SQL編寫的程序都是可以移植的。</p><p> 4.1.2數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)</p><p> 將數(shù)據(jù)庫(kù)概念結(jié)構(gòu)轉(zhuǎn)化為Microsoft SQL Server 2000系統(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ì)分
106、析以后,需要4個(gè)數(shù)據(jù)表來(lái)實(shí)現(xiàn)系統(tǒng)所要儲(chǔ)存的數(shù)據(jù)。</p><p> 表4-1用戶信息表 (users)</p><p> 表4-2房屋出租、求租信息表 (house)</p><p> 表4-3房屋合租信息表 (house2)</p><p> 表4-4新聞公告信息表 (gonggao)</p><p> 4
107、.2.3數(shù)據(jù)庫(kù)加載和調(diào)試</p><p> 數(shù)據(jù)庫(kù)事實(shí)階段包括兩項(xiàng)重要的工作,一項(xiàng)是數(shù)據(jù)的加載,另外一項(xiàng)是應(yīng)用程序的編碼和調(diào)試。</p><p> 加載測(cè)試工作貫穿于程序測(cè)試工作的全過(guò)程,整個(gè)錄入、修改、查詢、處理工作均可視為對(duì)數(shù)據(jù)庫(kù)的加載測(cè)試工作。</p><p> 一般數(shù)據(jù)庫(kù)中,數(shù)據(jù)量都很很大,而且數(shù)據(jù)來(lái)源于部門中的各個(gè)不同的單位,數(shù)據(jù)的組織方式、結(jié)構(gòu)和格
108、式都與新設(shè)計(jì)的數(shù)據(jù)庫(kù)系統(tǒng)有相當(dāng)?shù)牟罹啵M織數(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ù)的工作是相當(dāng)費(fèi)力費(fèi)時(shí)的工作[10]。</p><p> 特別是原系統(tǒng)是手工數(shù)據(jù)系統(tǒng)時(shí),各類數(shù)據(jù)分散在各種不同原始表格、憑證、單句之中。在向新的數(shù)據(jù)庫(kù)系統(tǒng)中輸入數(shù)據(jù)時(shí),還要處理大量的紙質(zhì)文件,工作量就更大。</p&g
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 房屋出租管理系統(tǒng)
- 房屋出租管理系統(tǒng)畢業(yè)設(shè)計(jì)
- [房屋出租合同]房屋出租代理協(xié)議
- [房屋出租合同]房屋出租代理協(xié)議
- 房屋出租協(xié)議范本房屋出租廣告范本
- 小區(qū)房屋出租管理規(guī)定
- 房屋出租合同
- 房屋出租合同
- 房屋出租啟事
- 房屋出租啟事
- 房屋出租協(xié)議
- 房屋出租協(xié)議
- 畢業(yè)設(shè)計(jì)---基于bs結(jié)構(gòu)的房屋出租管理系統(tǒng)
- 房屋出租合1
- 房屋出租安全合同
- 酒店房屋出租合同
- 房屋出租協(xié)議001
- 房屋出租廣告范本
- 農(nóng)村房屋出租合同
- 房屋出租廣告范本
評(píng)論
0/150
提交評(píng)論