畢業(yè)設(shè)計(jì)---個(gè)人博客系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
已閱讀1頁,還剩45頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  畢業(yè)設(shè)計(jì)說明書</b></p><p>  個(gè)人博客系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  學(xué)生姓名: 學(xué)號: </p><p>  學(xué) 院: 電子與計(jì)算機(jī)科學(xué)技術(shù) </p><p>  專 業(yè)

2、: 計(jì)算機(jī)科學(xué)與技術(shù) </p><p>  指導(dǎo)教師: xx </p><p><b>  2013年 6 月</b></p><p>  個(gè)人博客系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p><b>  摘要&

3、lt;/b></p><p>  隨著互聯(lián)網(wǎng)技術(shù)的高速發(fā)展,生活節(jié)奏的加快,博客被越來越多的人選擇作為學(xué)習(xí)和交流的工具。博客的內(nèi)容豐富多彩,有對其他網(wǎng)站的超鏈接和評論,有個(gè)人構(gòu)思,還有日志、照片、詩歌和散文等。博客具有開放性、互動性和共享性的特點(diǎn),是一個(gè)很好的交流的渠道,是思想展現(xiàn)的舞臺和學(xué)術(shù)探討的園地。</p><p>  本系統(tǒng)采用B/S(瀏覽器/服務(wù)器)開發(fā)模式,以My Ecl

4、ipse作為開發(fā)平臺,采用JSP技術(shù),以Tomcat為服務(wù)器和SQL Server 2008為后臺數(shù)據(jù)庫。本系統(tǒng)是一個(gè)實(shí)用的個(gè)人博客系統(tǒng),集日志、圖片、評論于一身。用戶可以查看文章、相冊,還可以發(fā)表文章評論。博主可以管理自己的日志、相冊、評論等。整個(gè)系統(tǒng)層次結(jié)構(gòu)清晰、性能穩(wěn)定、界面友好,使用起來簡單方便。</p><p>  關(guān)鍵字:互聯(lián)網(wǎng),B/S,MyEclipse,JSP</p><p&g

5、t;  Person Blog System Design and Implementation</p><p><b>  Abstract</b></p><p>  With the rapid development of Internet technology and high speed of life rhythm, Blog has being cho

6、sen by more and more people as the tool of study and communication. The content of Blog is very rich and colourful which has hyperlink and comment of other website, personal thinking, news, music, article and so on. Beca

7、use of the character of independence, interaction and share of Blog, it is regarded as an outlet of good exchange channel, the stage of personal thought displaying, and the garden a</p><p>  This system use

8、B/S (Browser/Server) development pattern, MyEclipse as a development platform,with the JSP technology, Tomcat for servers and SQL Server 2008 for the backend database.This system is a practical personal blog system ,incl

9、uding logs, pictures, comment as a whole . Visitors can view the article, photo album, also can give a discuss. Blogger can manage their logs, photo albums, comments, etc. The system structure is clear, stable performan

10、ce, friendly interface, it is simple and con</p><p>  Key words: Internet , B/S , MyEclipse , JSP</p><p><b>  目 錄</b></p><p><b>  1 引 言1</b></p>

11、<p>  1.1 個(gè)人博客系統(tǒng)簡介1</p><p>  1.2 國內(nèi)外研究現(xiàn)狀2</p><p>  2 開發(fā)技術(shù)及開發(fā)環(huán)境3</p><p>  2.1 開發(fā)技術(shù)3</p><p>  2.1.1 JSP概述3</p><p>  2.1.2 Servlet 概述3</p&

12、gt;<p>  2.1.3 JavaBean概述4</p><p>  2.2 JSP網(wǎng)站開發(fā)模式4</p><p>  2.3 開發(fā)工具6</p><p>  2.3.1 MyEclipse簡介6</p><p>  2.3.2 Tomcat簡介6</p><p>  2.3.3

13、SQL Server簡介6</p><p><b>  3 需求分析8</b></p><p>  3.1 功能需求概述8</p><p>  3.2 系統(tǒng)總體功能結(jié)構(gòu)9</p><p>  4 系統(tǒng)概要設(shè)計(jì)11</p><p>  4.1 數(shù)據(jù)庫設(shè)計(jì)E-R圖11</p

14、><p>  4.2 邏輯結(jié)構(gòu)設(shè)計(jì)14</p><p>  4.3 數(shù)據(jù)流圖18</p><p>  5 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)20</p><p>  5.1 公共模塊的設(shè)計(jì)與實(shí)現(xiàn)20</p><p>  5.1.1 數(shù)據(jù)庫連接及操作類的編寫20</p><p>  5.1.2 字符

15、串處理類的編寫20</p><p>  5.1.3 系統(tǒng)配置21</p><p>  5.2 用戶登錄模塊的設(shè)計(jì)與實(shí)現(xiàn)21</p><p>  5.2.1 用戶登錄模塊概述21</p><p>  5.2.2 用戶登錄模塊技術(shù)分析22</p><p>  5.2.3 用戶登錄模塊實(shí)現(xiàn)過程23<

16、;/p><p>  5.3 前臺模塊的設(shè)計(jì)與實(shí)現(xiàn)23</p><p>  5.3.1 前臺頁面的設(shè)計(jì)與實(shí)現(xiàn)23</p><p>  5.3.2 文章查詢模塊設(shè)計(jì)與實(shí)現(xiàn)26</p><p>  5.3.3 系統(tǒng)訪問統(tǒng)計(jì)量模塊設(shè)計(jì)與實(shí)現(xiàn)28</p><p>  5.4 后臺模塊的設(shè)計(jì)與實(shí)現(xiàn)29</p&

17、gt;<p>  5.4.1 后臺頁面的設(shè)計(jì)與實(shí)現(xiàn)29</p><p>  5.4.2 相冊管理模塊設(shè)計(jì)與實(shí)現(xiàn)31</p><p>  6 系統(tǒng)測試34</p><p>  6.1 測試的目的34</p><p>  6.2 測試的方法34</p><p>  6.3 測試過程34

18、</p><p>  6.3.1 單元測試34</p><p>  6.3.2 集成測試38</p><p>  6.3.3 測試問題及解決38</p><p>  6.3.4 測試結(jié)果38</p><p><b>  7 結(jié)論39</b></p><p&g

19、t;<b>  參考文獻(xiàn)40</b></p><p><b>  致謝42</b></p><p><b>  1 引 言</b></p><p>  1.1 個(gè)人博客系統(tǒng)簡介</p><p>  “博客”(Blog或Weblog)一詞源于“Web Log(網(wǎng)絡(luò)日志)”

20、的縮寫,是一種十分簡易的傻瓜化個(gè)人信息發(fā)布方式[1]。任何人都可以像使用免費(fèi)電子郵件一樣,完成個(gè)人網(wǎng)頁的創(chuàng)建、發(fā)布和更新。博客就是開放的私人空間,可以充分利用超文本鏈接、網(wǎng)絡(luò)互動、動態(tài)更新等特點(diǎn),在網(wǎng)絡(luò)中,精選并鏈接全球互聯(lián)網(wǎng)中最有價(jià)值的信息、知識與資源;也可以將個(gè)人工作過程、生活故事、思想歷程、閃現(xiàn)的靈感等及時(shí)記錄和發(fā)布,發(fā)揮個(gè)人無限的表達(dá)力;更可以以文會友,結(jié)識和匯聚朋友,進(jìn)行深度交流溝通[2]。</p><p&

21、gt;  “博客”當(dāng)然是個(gè)大家都陌生的名詞,博客的英文名詞就是“Blog或Weblog”(指人時(shí)對應(yīng)于Blogger),是一個(gè)典型的網(wǎng)絡(luò)新事物,查閱最新的英文詞典也不可能查到。該詞來源于“Web Log(網(wǎng)絡(luò)日志)”的縮寫,特指一種特別的網(wǎng)絡(luò)個(gè)人出版形式,內(nèi)容按照時(shí)間順序排列,并且不斷更新[3]。</p><p>  博客概念一般包含了三個(gè)要素:</p><p> ?。?)網(wǎng)頁主體內(nèi)容由不

22、斷更新的、個(gè)性化的眾多日志組成。</p><p>  (2)按時(shí)間順序排列,而且是倒序方式,也就是最新的放在最上面,最舊的放在最下面。</p><p> ?。?)內(nèi)容可以是各種主題、各種外觀布局和各種寫作風(fēng)格,但是文章內(nèi)容以“超鏈接”作為重要的表達(dá)方式。</p><p>  因此,博客是個(gè)人性和公共性的結(jié)合體,其精髓不是主要表達(dá)個(gè)人思想,不是主要記錄個(gè)人日常經(jīng)歷;而

23、是以個(gè)人的視角,以整個(gè)互聯(lián)網(wǎng)為視野,精選和記錄自己在互聯(lián)網(wǎng)上看到的精彩內(nèi)容,為他人提供幫助,使其具有更高的共享價(jià)值。博客精神的核心并不是自娛自樂,甚至不是個(gè)人表達(dá)自由,相反,是體現(xiàn)一種利他的共享精神,為他人提供幫助。個(gè)人日記和個(gè)人網(wǎng)站主要表現(xiàn)的還是“小我”,而博客表現(xiàn)的是“大我”。也許形式上很接近,但內(nèi)在有著本質(zhì)的差異。所有優(yōu)秀博客網(wǎng)站中,真正表達(dá)作者個(gè)人的內(nèi)容非常有限,最多只是點(diǎn)綴,而不像個(gè)人網(wǎng)站那樣是核心。</p>&

24、lt;p>  1.2 國內(nèi)外研究現(xiàn)狀</p><p>  據(jù)不完全統(tǒng)計(jì),到今天,全世界博客總量已超過一億。其中中國的博客達(dá)到1600萬。博客數(shù)量大約6個(gè)月翻一番,2011年4月份每天新增博客9萬5千人。每天發(fā)貼120萬篇,平均一小時(shí)5萬貼。博客的影響力,早已超出了他作為個(gè)人,甚至作為自己所在行業(yè)的原有范圍,開始引起主流媒體的強(qiáng)烈關(guān)注。自2010年以后,博客迎來了它的飛速發(fā)展時(shí)期,作為專業(yè)領(lǐng)域的知識傳播模式

25、,博客成為了該領(lǐng)域最具影響力的方式之一,博客的影響力也將超越傳統(tǒng)媒體。它將成為一種全新的信息組織和傳播方式,發(fā)揮更大的作用。</p><p>  現(xiàn)在的博客網(wǎng)站的主要特點(diǎn):</p><p>  (1)零機(jī)制:博客屬于個(gè)人所有,是自發(fā)建立和非正式的建設(shè)。BSP(博客服務(wù)托管商)不能對博客發(fā)號施令。 </p><p> ?。?)零技術(shù):博客不需要網(wǎng)站的專業(yè)知識,可以像發(fā)

26、郵件一樣簡單地實(shí)現(xiàn)博客網(wǎng)頁的呈現(xiàn)。技術(shù)的極度簡化,包括架構(gòu)和申請博客網(wǎng)站、編輯、上傳和修改內(nèi)容等。 </p><p>  (3)零成本:任何一個(gè)人都可以像申請免費(fèi)郵件般免費(fèi)申請自己的博客網(wǎng)站。不需要注冊域名的成本,不需要租用服務(wù)器空間的成本,不需要許多軟件工具的成本。 </p><p> ?。?)零編輯:博客用戶就是編輯,即時(shí)寫作、即時(shí)發(fā)布、自我檢查。這形成了與傳統(tǒng)寫作截然不同的“體驗(yàn)”,

27、真正實(shí)現(xiàn)了作者“零磨損”的開放式寫作。 </p><p> ?。?)零形式:博客頁面的表現(xiàn)形式和文章內(nèi)容的表現(xiàn)方式十分靈活,沒有特定形式。 </p><p>  與個(gè)人主頁相比較,博客是使用方便的、交互性強(qiáng)。與傳統(tǒng)的電子郵件、BBS和ICQ這三種互聯(lián)網(wǎng)溝通方式相比,博客是一種較嚴(yán)肅的溝通平臺。BBS公共匿名性很強(qiáng),而個(gè)人性很弱,因此缺乏約束。電子郵件和ICQ則是多用于個(gè)人間的通訊,而博客是

28、個(gè)人性和公共性的結(jié)合。博客是個(gè)人在網(wǎng)上展示自己、與別人溝通交流的綜合平臺,它的管理比BBS簡單的多。</p><p>  2 開發(fā)技術(shù)及開發(fā)環(huán)境</p><p><b>  2.1 開發(fā)技術(shù)</b></p><p>  本系統(tǒng)的開發(fā)采用的是JSP+JavaBean+Servlet模式,在該模式中,結(jié)合了JSP和Servlet技術(shù),充分利用了

29、JSP和Servlet兩種技術(shù)原有的優(yōu)點(diǎn)[4,5]。在此模式中,JavaBean作為模型的角色,充當(dāng)JSP和Servlet通信的中間工具,Servlet處理完后設(shè)置JavaBean的屬性,JSP讀取此JavaBean的屬性,然后進(jìn)行顯示。該模式更加明顯地把顯示和邏輯分離,使得代碼更容易管理,適合大型項(xiàng)目的開發(fā)[6,7]。</p><p>  2.1.1 JSP概述</p><p>  J

30、SP即Java Server Pages,是由Sun Microsystem公司于1996年6月推出的新技術(shù),是基于Java Servlet以及整個(gè)Java體系的Web開發(fā)技術(shù)。JSP已經(jīng)成為開發(fā)Web動態(tài)網(wǎng)頁重要、快速和有效的工具,是全新的網(wǎng)絡(luò)服務(wù)器編程環(huán)境[8]。JSP充分利用了Java的強(qiáng)大功能,是一種優(yōu)秀的服務(wù)器端技術(shù)。隨著Java技術(shù)的日益成熟和流行,JSP在網(wǎng)絡(luò)編程中也變得越來越重要。JSP基于強(qiáng)大的Java語言,具有極強(qiáng)的

31、擴(kuò)展能力,良好的縮收性,以及與平臺無關(guān)的開發(fā)特性,成為構(gòu)建動態(tài)網(wǎng)站的主流技術(shù)之一,JSP有著其他技術(shù)所不具備的優(yōu)勢[9]。其優(yōu)勢在于:可以將內(nèi)容的生成和顯示進(jìn)行分離、生成可重用的組件、采用標(biāo)識簡化頁面開發(fā)。JSP能提供所有Servlet的功能[10]。</p><p>  2.1.2 Servlet 概述</p><p>  Servlet是Java編寫的服務(wù)器端程序,是由服務(wù)器端執(zhí)行和

32、調(diào)用的Java類。Servlet是采用Java技術(shù)來實(shí)現(xiàn)CGI功能的一種技術(shù),能夠像CGI一樣動態(tài)地?cái)U(kuò)展Web服務(wù)器的功能,并采用請求——響應(yīng)模式提供Web服務(wù)。Servlet和CGI一樣都是運(yùn)行在Web服務(wù)器上,用來生成Web頁面。Servlet的主要功能在于交互式地瀏覽和修改數(shù)據(jù),生成動態(tài)Web內(nèi)容[11,12]。其工作流程圖如圖2.1所示。</p><p>  Servlet工作流程:</p>

33、<p>  a)客戶端發(fā)送請求信息至服務(wù)器。</p><p>  b)服務(wù)器將請求信息發(fā)送至Servlet。</p><p>  c)Servlet生成響應(yīng)內(nèi)容并將其傳給Servlet。響應(yīng)內(nèi)容動態(tài)生成,通常取決于客戶端的請求。</p><p>  圖2.1 Servlet工作流程圖</p><p>  d)服務(wù)器將響應(yīng)信息返回至

34、客戶端。</p><p>  2.1.3 JavaBean概述</p><p>  JavaBean是Sun公司為了進(jìn)入因特網(wǎng)、企業(yè)網(wǎng)以及萬維網(wǎng)上進(jìn)行分布式計(jì)算的組件結(jié)構(gòu)入口。按照Sun公司的定義,JavaBean是一個(gè)可重復(fù)使用的軟件部件。JavaBean體系結(jié)構(gòu)是第一個(gè)全面地基于組件的標(biāo)準(zhǔn)模型之一,該組件是Java類,這些類遵循一個(gè)接口格式,以便于使方法命名、底層行為以及繼承或?qū)崿F(xiàn)的

35、行為能夠把類看做標(biāo)準(zhǔn)的JavaBean組件的方式進(jìn)行構(gòu)造[13,14]。</p><p>  在Java模型中,通過JavaBean可以無限擴(kuò)充Java程序的功能,通過JavaBean的組合可以快速生成新的應(yīng)用程序。JavaBean具有以下特點(diǎn):</p><p>  a)可以實(shí)現(xiàn)代碼的重復(fù)利用。</p><p>  b)易維護(hù)性、易使用性、易編寫性。</p&g

36、t;<p>  c)可以在Java的任何平臺上工作,不需要重新編譯。</p><p>  d)可以在內(nèi)部網(wǎng)或者網(wǎng)絡(luò)之間進(jìn)行傳輸。</p><p>  e)可以以其它部件的模式進(jìn)行工作。</p><p>  JavaBean在JSP程序中常用來封裝事務(wù)邏輯、數(shù)據(jù)庫操作等,可以很好的實(shí)現(xiàn)業(yè)務(wù)邏輯和前臺程序的分離,使得系統(tǒng)具有更好的健壯性和靈活性。</

37、p><p>  2.2 JSP網(wǎng)站開發(fā)模式</p><p>  目前,JSP技術(shù)已經(jīng)成為一種受大多數(shù)大型企業(yè)或中小型企業(yè)喜愛的動態(tài)網(wǎng)頁開發(fā)技術(shù)。越來越多的技術(shù)人員也逐步成為JSP技術(shù)的推崇者。JSP技術(shù)正是利用了Java的“一次開發(fā),處處使用”的性能,成為了網(wǎng)站開發(fā)技術(shù)人員的首選技術(shù)。當(dāng)然,JSP技術(shù)的最大優(yōu)勢在于能夠?qū)㈨撁娴谋憩F(xiàn)形式和頁面的商業(yè)邏輯分開[15,16]。</p>

38、<p>  JSP網(wǎng)站開發(fā)技術(shù)標(biāo)準(zhǔn)提供了兩種開發(fā)模式:一種是JSP+JavaBean開發(fā)模式;一種是JSP+Servlet+JavaBean開發(fā)模式。</p><p>  JSP+JavaBean模型圖如圖2.2所示。</p><p>  圖2.2 JSP+JavaBean模型圖</p><p>  在這種模型中,JSP頁面獨(dú)自響應(yīng)請求并將處理結(jié)果返回給

39、客戶,所有的數(shù)據(jù)通過JavaBean來處理,JSP實(shí)現(xiàn)頁面的顯示。此模型常常會導(dǎo)致頁面被嵌入大量的腳本語言或者Java代碼段,當(dāng)處理大型業(yè)務(wù)時(shí),頁面程序?qū)⒆兊卯惓?fù)雜給開發(fā)和維護(hù)帶來困難[17]。</p><p>  JSP+Servlet+JavaBean模型圖如圖2.3所示。</p><p>  圖2.3 JSP+Servlet+JavaBean模型圖</p><p

40、>  Servlet技術(shù)是一種采用Java技術(shù)來實(shí)現(xiàn)CGI功能的一種技術(shù)。Servlet是運(yùn)行在Web服務(wù)器上,用來生成Web頁面。Servlet技術(shù)非常適于服務(wù)器端的處理和編程。</p><p>  在此種開發(fā)模式中,JSP技術(shù)用來顯示頁面,該頁面中沒有任何的商業(yè)處理邏輯,通過Servlet技術(shù)來完成大量的事物處理工作。Servlet用來處理事務(wù)的請求,充當(dāng)著一個(gè)控制者的角色,并負(fù)責(zé)向客戶發(fā)送請求,創(chuàng)建J

41、SP需要的Bean和對象,根據(jù)用戶的請求行為,決定將哪個(gè)JSP頁面發(fā)送給用戶。</p><p>  從上面兩種開發(fā)模式來說:第二種模式要好些,更適合于團(tuán)隊(duì)開發(fā),速度相對較慢,但是可維護(hù)性高。</p><p><b>  2.3 開發(fā)工具</b></p><p>  開發(fā)本系統(tǒng)用到的工具有MyEclipse、Tomcat服務(wù)器、SQL Serv

42、er2008數(shù)據(jù)庫,下面對這些工具做了簡介。</p><p>  2.3.1 MyEclipse簡介</p><p>  MyEclipse 是一個(gè)十分優(yōu)秀的用于開發(fā)Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常強(qiáng)大,支持也十分廣泛,尤其是對各種開源產(chǎn)品的支持十分不錯。</p><p>  MyEclipse目前支持Java Serv

43、let, AJAX, JSP, JSF, Struts, Spring, Hibernate,</p><p>  EJB3,JDBC數(shù)據(jù)庫鏈接工具等多項(xiàng)功能??梢哉fMyEclipse幾乎囊括了目前所有主流開源產(chǎn)品的專屬eclipse開發(fā)工具[18]。</p><p>  2.3.2 Tomcat簡介</p><p>  如今,基于Web的應(yīng)用越來越多,傳統(tǒng)的Ht

44、ml已經(jīng)滿足不了如今的需求。因此需要一個(gè)交互式的Web,于是便誕生了各種Web語言。如Asp,Jsp,Php等。當(dāng)然,這些語言與傳統(tǒng)的語言有著密切的聯(lián)系,如Php基于C和C++語言,Jsp基于Java語言。Tomcat即是一個(gè)Jsp和Servlet的運(yùn)行平臺。</p><p>  Tomcat是一個(gè)免費(fèi)的開源的Serlvet容器,是Apache基金會的Jakarta項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache,Sun和其

45、它一些公司及個(gè)人共同開發(fā)而成。</p><p>  2.3.3 SQL Server簡介</p><p>  SQLServer2008作為Microsoft家庭的重要成員,是基于客戶機(jī)/服務(wù)器的大型關(guān)系數(shù)據(jù)庫網(wǎng)站。SQLServer2008這種關(guān)系型數(shù)據(jù)庫網(wǎng)站能夠滿足各種類型的企業(yè)客戶和獨(dú)立軟件供應(yīng)商構(gòu)建商業(yè)應(yīng)用程序的需求,根據(jù)客戶的反映和需求,是大規(guī)模聯(lián)機(jī)事務(wù)處理(OLTP)、數(shù)據(jù)倉

46、庫和電子商務(wù)應(yīng)用程序的優(yōu)秀數(shù)據(jù)庫平臺[19]。SQL Server 2008 具有以下特點(diǎn):</p><p> ?。?)強(qiáng)大可伸縮性。</p><p>  (2)支持大型Web站點(diǎn)或企業(yè)信息處理網(wǎng)站。</p><p> ?。?)客戶機(jī)/服務(wù)器體系結(jié)構(gòu)。</p><p>  而數(shù)據(jù)源包含了數(shù)據(jù)庫位置和數(shù)據(jù)庫類型等信息,實(shí)際上是一種數(shù)據(jù)連接的抽象

47、。各部件之間的關(guān)系如圖2.4所示:</p><p>  圖2.4 數(shù)據(jù)庫連接的實(shí)現(xiàn)</p><p><b>  3 需求分析</b></p><p>  需求分析工作是軟件生存周期最重要的一個(gè)環(huán)節(jié)。需求分析的基本任務(wù)是要確定系統(tǒng)必須完成哪些工作,并提出完整、準(zhǔn)確、清晰、具體的要求。需求分析階段確定的系統(tǒng)邏輯模型是以后設(shè)計(jì)和實(shí)現(xiàn)目標(biāo)系統(tǒng)的基礎(chǔ),

48、因此,必須準(zhǔn)確完整地體現(xiàn)用戶的要求。要體現(xiàn)用戶的要求,就必須從以下幾個(gè)方面進(jìn)行分析。</p><p>  3.1 功能需求概述</p><p>  經(jīng)參考現(xiàn)有的幾大博客網(wǎng)站如QQ空間,新浪博客等,本系統(tǒng)采用Browser/Server結(jié)構(gòu),將個(gè)人博客系統(tǒng)劃分為兩個(gè)模塊:前臺模塊和后臺模塊。</p><p>  下面分析各個(gè)模塊的功能需求。</p>&

49、lt;p><b>  一、前臺模塊</b></p><p>  在前臺的功能實(shí)現(xiàn)上,可以分為以下幾個(gè)部分。</p><p>  (1)用戶登錄:用戶用個(gè)人注冊的帳號,密碼登錄到系統(tǒng)。系統(tǒng)檢測用戶的帳號,密碼并給予其相應(yīng)的權(quán)限對系統(tǒng)進(jìn)行操作。</p><p>  (2)用戶注冊:訪客將個(gè)人的信息存儲到博客系統(tǒng)的數(shù)據(jù)庫中,以成為本博客的正式用

50、戶。</p><p>  (3)用戶修改個(gè)人信息:把已存儲的用戶信息用一個(gè)網(wǎng)頁顯示出來,方便用戶對個(gè)人信息進(jìn)行更新。</p><p>  (4)文章查詢和留言:用戶可以瀏覽博客中的文章同時(shí)給感興趣的文章評論。</p><p>  (5)公告信息查詢:用戶可以瀏覽網(wǎng)站中發(fā)布的公告信息,了解博客的一些情況。</p><p>  (6)相片查詢:用

51、戶可以對博客中的相片,圖片等進(jìn)行查詢,瀏覽。</p><p>  (7)游客投訴:用戶可以借助微軟開發(fā)的OutlookExpress方便地進(jìn)行言論監(jiān)督。</p><p>  (8)網(wǎng)站訪問統(tǒng)計(jì)量:可以查看總的訪問統(tǒng)計(jì)量和當(dāng)日訪問統(tǒng)計(jì)量。</p><p>  (9)投票:用戶可以通過該鏈接支持博主發(fā)起的投票,并且可以查看投票結(jié)果。</p><p&g

52、t;  (10)友情鏈接:用戶可以通過該鏈接查看相關(guān)內(nèi)容。</p><p>  (11)朋友信息:用戶可以查看博主的好友及其相關(guān)信息。</p><p><b>  二、后臺模塊</b></p><p>  通過計(jì)算機(jī)網(wǎng)絡(luò)將前臺與后臺的數(shù)據(jù)庫相連,網(wǎng)站管理員將從前臺得到的信息進(jìn)行處理,實(shí)現(xiàn)文章管理,公告管理,投票管理,個(gè)人相冊管理,朋友管理,用戶

53、設(shè)置及博主設(shè)置等子網(wǎng)站。</p><p>  (1)文章管理:博主可以添加新文章,對已有的文章進(jìn)行修改和刪除,還可以查看文章回復(fù)。</p><p>  (2)公告管理:發(fā)布,刪除,更改公告。</p><p>  (3)投票管理:添加投票內(nèi)容,統(tǒng)計(jì)票數(shù),刪除投票內(nèi)容。</p><p>  (4)朋友管理:對朋友信息進(jìn)行添加,刪除和修改。<

54、/p><p>  (5)個(gè)人相冊管理:對博客相冊中的圖片進(jìn)行添加,刪除和修改。</p><p>  (6)用戶設(shè)置:對普通用戶的信息進(jìn)修查詢,刪除。</p><p>  (7)博主設(shè)置:對博主的信息進(jìn)行修改。</p><p>  3.2 系統(tǒng)總體功能結(jié)構(gòu)</p><p>  圖3.1 個(gè)人博客系統(tǒng)前臺功能結(jié)構(gòu)</p

55、><p>  圖3.2 個(gè)人博客系統(tǒng)后臺功能結(jié)構(gòu)</p><p><b>  4 系統(tǒng)概要設(shè)計(jì)</b></p><p>  4.1 數(shù)據(jù)庫設(shè)計(jì)E-R圖</p><p>  為了把用戶的數(shù)據(jù)要求清晰明確地表達(dá)出來,通常要建立一個(gè)概念性的數(shù)據(jù)模型。概念性數(shù)據(jù)模型是一種面向問題的數(shù)據(jù)模型,是按照用戶的觀點(diǎn)來對數(shù)據(jù)和信息建模。描

56、述了從用戶角度看到的數(shù)據(jù),反映了用戶的現(xiàn)實(shí)環(huán)境。</p><p>  最常用的表示概念性數(shù)據(jù)模型的方法,是實(shí)體—聯(lián)系方法(Entity—Relationship Approach)。這種方法用ER圖描述現(xiàn)實(shí)世界中的實(shí)體,而不涉及這些實(shí)體在系統(tǒng)中的實(shí)現(xiàn)方法。用這種方法表示的概念性數(shù)據(jù)模型又稱為ER模型。</p><p>  (1)文章實(shí)體,具體屬性如圖4.1所示。</p>&l

57、t;p><b>  圖4.1 文章實(shí)體</b></p><p> ?。?)文章類型實(shí)體,具體屬性如圖4.2所示。</p><p>  圖4.2 文章類型實(shí)體</p><p> ?。?)文章回復(fù)實(shí)體,具體屬性如圖4.3所示。</p><p>  圖4.3 文章回復(fù)實(shí)體</p><p> ?。?

58、)用戶實(shí)體,具體屬性如圖4.4所示。 </p><p><b>  圖4.4 用戶實(shí)體</b></p><p> ?。?)公告實(shí)體,具體屬性如圖4.5所示。 </p><p><b>  圖4.5 公告實(shí)體</b></p><p> ?。?)朋友實(shí)體,具體屬性如圖

59、4.6所示。</p><p><b>  圖4.6 朋友實(shí)體</b></p><p> ?。?)個(gè)人相冊實(shí)體,具體屬性如圖4.7所示。</p><p>  圖4.7 個(gè)人相冊實(shí)體</p><p> ?。?) 投票實(shí)體,具體屬性如圖4.8所示。</p><p><b>  圖4.8 投票實(shí)

60、體</b></p><p> ?。?) 訪問量實(shí)體,具體屬性如圖4.9所示。</p><p>  圖4.9 訪問量實(shí)體</p><p> ?。?0)個(gè)人博客系統(tǒng)的總E-R圖,如圖4.10所示。</p><p>  圖4.10 個(gè)人博客系統(tǒng)的總E-R圖</p><p>  4.2 邏輯結(jié)構(gòu)設(shè)計(jì)</p&

61、gt;<p>  一個(gè)設(shè)計(jì)良好的數(shù)據(jù)庫,可以使網(wǎng)站的實(shí)現(xiàn)變得非常的簡單。同時(shí),也可以使網(wǎng)站的執(zhí)行速度變得很快。反之,一個(gè)設(shè)計(jì)混亂的數(shù)據(jù)庫,不僅增加了吸引的管理實(shí)現(xiàn)過程,同時(shí)在網(wǎng)站的執(zhí)行過程中,使得檢索變得很慢,降低效率。所以數(shù)據(jù)庫的設(shè)計(jì)是一個(gè)網(wǎng)站設(shè)計(jì)很重要的步驟。</p><p>  根據(jù)網(wǎng)站功能設(shè)計(jì)要求和模塊劃分,本站的數(shù)據(jù)庫主要有文章信息、文章類型信息、文章回復(fù)信息、用戶信息、公告信息、朋友信息

62、、個(gè)人相冊信息、投票信息、訪問統(tǒng)計(jì)信息。</p><p>  數(shù)據(jù)庫的設(shè)計(jì)通常是以一個(gè)已經(jīng)存在的數(shù)據(jù)庫管理網(wǎng)站為基礎(chǔ)的,常用的數(shù)據(jù)庫管理網(wǎng)站有Access、SQL Server、Oracle、My SQL等。根據(jù)用戶需求和網(wǎng)站分析,本網(wǎng)站采用SQL Server2008數(shù)據(jù)庫管理網(wǎng)站。在SQL Server2008數(shù)據(jù)庫管理網(wǎng)站中建立名稱為在myblog的數(shù)據(jù)庫[20,21]。</p><p&

63、gt; ?。?)文章信息表(artical)</p><p>  該表記錄了文章的相關(guān)信息,包括文章編號、文章類型編號、文章題目、文章內(nèi)容、文章發(fā)布時(shí)間、文章訪問次數(shù),其結(jié)構(gòu)如表4.1所示。</p><p>  表4.1 文章信息表(artical)</p><p>  (2)文章類型信息表(articalType)</p><p>  該表

64、記錄了文章類型的相關(guān)信息,包括文章類型編號 、文章類型名稱、文章類型描述,其結(jié)構(gòu)如表4.2所示。 </p><p>  表4.2 文章類型信息表(articalType)</p><p> ?。?)文章回復(fù)信息表(reply)</p><p>  該表列出了文章回復(fù)的相關(guān)信息,包括文章回復(fù)編號、文章編號、文章回復(fù)用戶、文章回復(fù)標(biāo)題、文章回復(fù)內(nèi)容,其結(jié)構(gòu)如表4.3所示

65、。</p><p>  表4.3 文章回復(fù)信息表(reply)</p><p> ?。?)用戶信息表(consumer)</p><p>  該表列出了用戶的相關(guān)信息,包括用戶編號、用戶名、用戶密碼、用戶姓名、用戶性別、QQ號碼、用戶主頁、用戶興趣、郵箱地址、用戶等級,其結(jié)構(gòu)如表4.4所示。</p><p>  表4.4 用戶信息表(co

66、nsumer)</p><p> ?。?)公告信息表(discuss)</p><p>  該表記錄了公告的相關(guān)信息,包括公告編號、 公告題目、公告內(nèi)容、公告發(fā)布時(shí)間,其結(jié)構(gòu)如表4.5所示。</p><p>  表4.5 公告信息表(discuss)</p><p> ?。?)朋友信息表(friend)</p><p&g

67、t;  該表列出了朋友的相關(guān)信息,包括朋友編號、朋友昵稱、 QQ號碼、朋友描述,其結(jié)構(gòu)如表4.6所示。</p><p>  表4.6 朋友信息表(friend)</p><p> ?。?)個(gè)人相冊信息表(photo)</p><p>  該表列出了個(gè)人相冊的相關(guān)信息,包括相片編號、相片上傳地址、相片描述、相片上傳時(shí)間,其結(jié)構(gòu)如表4.7所示。</p>

68、<p>  表4.7 個(gè)人相冊信息表(photo)</p><p> ?。?) 投票信息表(vote)</p><p>  該表列投票的相關(guān)信息,包括投票編號、投票內(nèi)容、票數(shù),其結(jié)構(gòu)如表4.8所示。</p><p>  表4.8 投票信息表(vote)</p><p> ?。?)訪問統(tǒng)計(jì)表(visitorcounter)</

69、p><p>  該表列訪問統(tǒng)計(jì)的相關(guān)信息,包括訪問編號、訪問日期、訪問數(shù)量,其結(jié)構(gòu)如表4.9所示。</p><p>  表4.9 訪問統(tǒng)計(jì)表(visitorcounter)</p><p><b>  4.3 數(shù)據(jù)流圖</b></p><p>  數(shù)據(jù)流圖分析主要包括對信息的流動、傳遞、處理、存儲等的分析。數(shù)據(jù)流圖分析的

70、目的就是要發(fā)現(xiàn)和解決數(shù)據(jù)流通中出現(xiàn)的問題[22]?,F(xiàn)有的數(shù)據(jù)流圖分析是通過分層的數(shù)據(jù)流程圖(data flow diagram,簡稱DFD)來實(shí)現(xiàn)的。其具體的做法是:按照網(wǎng)站的設(shè)計(jì)理出的業(yè)務(wù)流程順序,繪制成一套完整的數(shù)據(jù)流圖[23]。</p><p>  網(wǎng)站運(yùn)行過程中,主要涉及到兩部分的數(shù)據(jù)流向,博客的頂層DFD圖,如圖4.11所示。</p><p>  圖4.11 博客系統(tǒng)頂層DFD

71、</p><p>  將頂層DFD分解得博客網(wǎng)的第二層DFD,博主進(jìn)入后臺可以進(jìn)行相應(yīng)的管理,訪客注冊成為用戶后,可以查看博主發(fā)布的相關(guān)信息[24],如圖4.12所示。</p><p>  圖4.12 博客系統(tǒng)第二層DFD</p><p>  5 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)</p><p>  在概要設(shè)計(jì)階段,我們已經(jīng)確定了該網(wǎng)站的總體結(jié)構(gòu),給出了博

72、客網(wǎng)站中各個(gè)模塊的功能[25]。接下來的任務(wù)就是進(jìn)行詳細(xì)設(shè)計(jì),詳細(xì)設(shè)計(jì)階段的任務(wù),就是要在上述工作的基礎(chǔ)上,確定應(yīng)該怎樣具體地實(shí)現(xiàn)所要求的系統(tǒng)。</p><p>  5.1 公共模塊的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  為了實(shí)現(xiàn)本網(wǎng)站需要的公共模塊有數(shù)據(jù)庫連接及操作類、字符串處理類、對Servlet進(jìn)行系統(tǒng)配置。</p><p>  5.1.1 數(shù)據(jù)庫連接及操作類的

73、編寫</p><p>  本次使用SQL Server 2008數(shù)據(jù)庫。安裝完SQL Server 2008 JDBC Driver,就可以編寫與數(shù)據(jù)庫連接的類。JDBConnection.java中不僅提供了數(shù)據(jù)庫的連接,還有根據(jù)數(shù)據(jù)庫獲取的Statement和ResultSet等,com.wy.tool.JDBConnection類封裝了關(guān)于數(shù)據(jù)庫的各項(xiàng)操作,關(guān)鍵代碼如下。</p><p&

74、gt;  public class JDBConnection {</p><p>  private final String url = "jdbc:sqlserver://localhost:1433;DatabaseName=myblog";</p><p>  private final String userName = "sa";<

75、;/p><p>  private final String password = "zhf0219";</p><p>  private Connection con = null; </p><p><b>  static {</b></p><p><b>  try {</b&

76、gt;</p><p>  Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance(); </p><p>  } catch (Exception ex) {</p><p>  System.out.println("數(shù)據(jù)庫加載失敗&

77、quot;);</p><p><b>  }</b></p><p><b>  }</b></p><p>  5.1.2 字符串處理類的編寫</p><p>  使用JSP開發(fā)網(wǎng)站經(jīng)常要過濾一些特殊字符或轉(zhuǎn)換一些字符,這些功能通常都需要編寫一個(gè)獨(dú)立的類來完成,本網(wǎng)站中通過編寫名為Chines

78、e的類來實(shí)現(xiàn)字符的過濾和轉(zhuǎn)換。</p><p>  public class Chinese {</p><p>  public static String toChinese(String strvalue) {</p><p><b>  try {</b></p><p>  if (strvalue ==

79、null) {</p><p>  return "";</p><p><b>  } else {</b></p><p>  strvalue = new String(strvalue.getBytes("ISO8859_1"), "GBK");</p><

80、p>  return strvalue; }</p><p>  } catch (Exception e) {</p><p>  return "";</p><p><b>  }</b></p><p><b>  }</b></p><p&g

81、t;  5.1.3 系統(tǒng)配置</p><p>  本網(wǎng)站是采用Servlet和JavaBean結(jié)合技術(shù)開發(fā)的。JavaBean技術(shù)實(shí)現(xiàn)對數(shù)所謂中的操作不需要在XML文件中進(jìn)行任何的配置,而正常運(yùn)行servlet程序還需要進(jìn)行適當(dāng)?shù)呐渲?,配置文件為web.xml[26]。關(guān)鍵代碼如下。</p><p><b>  <servlet></b></p&g

82、t;<p>  <servlet-name>ConsumerServlet</servlet-name></p><p>  <servlet-class>com.wy.webiter.ConsumerServlet</servlet-class></p><p>  </servlet></p>&l

83、t;p><b>  ......</b></p><p>  <servlet-mapping></p><p>  <servlet-name>ConsumerServlet</servlet-name><!--映射ConsumerServlet名稱></p><p>  <url-

84、pattern>/ConsumerServlet</url-pattern><!--映射ConsumerServlet訪問url路徑></p><p>  5.2 用戶登錄模塊的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  5.2.1 用戶登錄模塊概述</p><p>  用戶登錄模塊具有用戶登錄功能。博客系統(tǒng)運(yùn)行的第一個(gè)頁面便是用登錄頁面。用戶

85、登錄后可以查看博主發(fā)表的文章。在用戶登錄頁面中,在“用戶名”與“密碼”的文本框中輸入用用戶名和密碼后,單擊“登錄”按鈕,網(wǎng)站驗(yàn)證成功后,用戶將以用戶的身份進(jìn)入博客網(wǎng)首頁,之后在網(wǎng)站中可以隨意查看博主發(fā)布的文章。如果登錄的用戶就是博主本人,在博主信息顯示區(qū)域中,則出現(xiàn)“進(jìn)入后臺”超鏈接,博主可以直接單擊此超鏈接,進(jìn)入博客網(wǎng)的后臺進(jìn)行管理。用戶登錄模塊的流程圖如圖5.1所示。</p><p>  圖5.1 用戶登錄

86、模塊的流程圖</p><p>  5.2.2 用戶登錄模塊技術(shù)分析</p><p>  在用戶登錄模塊中,涉及的數(shù)據(jù)表是用戶信息表(consumer),在用戶信息表中保存著用戶名和密碼等信息,根據(jù)這些信息來創(chuàng)建登錄模塊的form,名稱為ConsumerForm。 </p><p>  Servlet核心在于它的HttpServlet,一般在Servlet里面做頁

87、面的邏輯跳轉(zhuǎn)工作。用戶登錄功能模塊的Servlet實(shí)現(xiàn)類繼承了HttpServlet類,在該類中首先設(shè)置用戶登錄模塊的ConsumerDao類的對象,該對象在每個(gè)具體的方法中實(shí)例化,doGet()在Servlet中自動被調(diào)用。該方法本身沒有具體的事務(wù),是根據(jù)通過HttpServletRequest的getParameter()方法獲取的method參數(shù)值執(zhí)行相應(yīng)的方法的。</p><p>  5.2.3 用戶登

88、錄模塊實(shí)現(xiàn)過程</p><p>  用戶登錄模塊是博客系統(tǒng)最先使用的功能,是系統(tǒng)的入口。在用戶登錄頁面中,用戶可以通過輸入正確的用戶名和密碼進(jìn)入,當(dāng)用戶沒有輸入用戶名和密碼時(shí),系統(tǒng)會通過JavaScript腳本進(jìn)行判斷,并給予提示信息。用戶登錄頁面如圖5.2所示。</p><p>  圖5.2 用戶登錄頁面</p><p>  在登錄模塊中需要判斷登錄用戶是否為博

89、主。普通用戶身份驗(yàn)證成功后,在博客網(wǎng)的首頁將顯示該用戶的信息;如果博主登錄后,則在博主顯示區(qū)域中顯示“進(jìn)入后臺”超鏈接。當(dāng)用戶驗(yàn)證成功后,用戶對應(yīng)的form信息和用戶登錄級別信息將保存在session對象中,程序員將根據(jù)保存在session對象中的form信息和用戶登錄級別信息(manageLevel)來判斷登錄的用戶是否為博主。</p><p>  5.3 前臺模塊的設(shè)計(jì)與實(shí)現(xiàn)</p><

90、p>  5.3.1 前臺頁面的設(shè)計(jì)與實(shí)現(xiàn)</p><p> ?。?) 前臺頁面概述</p><p>  在前臺頁面設(shè)計(jì)中,首先將管理員發(fā)布的最新文章展現(xiàn)給用戶,然后提供文章的分類、顯示博主的信息、顯示最新公告及博客網(wǎng)導(dǎo)航區(qū)功能等功能。博客系統(tǒng)面向用戶客戶端的流程圖如圖5.3所示,前臺頁面運(yùn)行效果圖如圖5.4所示。</p><p>  圖5.3 面向用戶客戶端

91、的流程圖</p><p>  圖5.4 前臺首頁運(yùn)行效果圖</p><p> ?。?) 前臺首頁技術(shù)分析</p><p>  在如圖5.3所示首面中的顯示博主的基本信息、顯示登錄用戶信息、顯示博客的主要功能、顯示博主的朋友圈等功能,并不是只存在于首頁中,其他功能模塊的子頁面中也需要包括這些部分。因此,可以將這幾個(gè)部分分別保存在單獨(dú)的文件中,這樣在需要放置相應(yīng)功能時(shí)

92、只需包含這些文件即可,如圖5.5所示。</p><p>  圖5.5 前臺頁面布局</p><p>  在JSP頁面中包含文件有兩個(gè)方法:一種是就用<%@ include %>指令實(shí)現(xiàn),另一種是應(yīng)用<jsp:include>動作元素實(shí)現(xiàn)。本網(wǎng)站使用的是<jsp:include>動作元素,該動作元素用于向當(dāng)前頁面中包含其他的文件,這個(gè)文件可以是動態(tài)文件也

93、可以是靜態(tài)文件。</p><p>  5.3.2 文章查詢模塊設(shè)計(jì)與實(shí)現(xiàn)</p><p>  (1) 文章查詢模塊概述</p><p>  文章查詢模塊的主要功能是用戶在瀏覽網(wǎng)站時(shí)查看發(fā)表的文章列表詳細(xì)內(nèi)容,包括文章的題目、發(fā)布時(shí)間、該文章的瀏覽次數(shù)等,并可以針對發(fā)表文章進(jìn)行回復(fù)。這是博客最具代表性的特點(diǎn)之一。它給博主和用戶提供展示文筆的平臺,增加博主與用戶、用戶

94、與用戶之間的交流,能夠使博客網(wǎng)站內(nèi)的氣氛更加活躍,內(nèi)容更加豐富。前臺文章查詢模塊主要包括所有文章查詢、文章分類查詢、文章內(nèi)容詳細(xì)查詢及文章回復(fù)功能。</p><p> ?。?) 文章查詢模塊技術(shù)分析</p><p>  在本網(wǎng)站中,前臺文章查詢模塊主要應(yīng)用的是JavaBean技術(shù),應(yīng)用<jsp:useBean>動作標(biāo)簽創(chuàng)建并使用一個(gè)JavaBean。<jsp:useBea

95、n>執(zhí)行方式非常靈活,如果執(zhí)行<jsp:useBean>,將去尋找是否存在相同ID和scope。<jsp:useBean>語法如下。</p><p>  <jsp:useBean id="name" scope="page|request|session|application" class="path"><

96、;/p><p>  <jsp:useBean>的屬性說明如表5.1所示。</p><p>  表5.1 <jsp:useBean>屬性</p><p> ?。?) 文章分類查詢實(shí)現(xiàn)過程</p><p>  當(dāng)用戶登錄后,在系統(tǒng)的首頁右側(cè)操作區(qū)中單擊“文章”超鏈接,網(wǎng)頁會自動彈出一個(gè)URL,即head_ArticleLis

97、t.jsp,將分類顯示文章的信息,在該頁面中,首先通過javabean定義分頁操作的類(MyPagination),之后調(diào)用ArticleDao類中的queryArticle()方法查詢所有的文章信息,最后將查詢的結(jié)果顯示在頁面中,如圖5.6所示。</p><p>  圖5.6 前臺分類顯示文章信息</p><p>  5.3.3 系統(tǒng)訪問統(tǒng)計(jì)量模塊設(shè)計(jì)與實(shí)現(xiàn)</p>&

98、lt;p>  訪問統(tǒng)計(jì)量模塊的主要功能是在瀏覽網(wǎng)站時(shí)可以查看總的訪問統(tǒng)計(jì)量和當(dāng)日訪問量,包這是網(wǎng)站的最具代表性的特點(diǎn)之一。</p><p>  通常網(wǎng)站訪問的數(shù)據(jù)是放在一個(gè)文件中的,通過文件的讀寫操作,在需要顯示的頁面中顯示出來。但本次設(shè)計(jì)是將頁面分割成幾部分,然后通過JSP中的<jsp:include>動作元素將需要顯示的頁面加載到前頁面中。此次是將訪問量放在右側(cè),點(diǎn)擊頁面各種超鏈接時(shí)都會不斷

99、刷新右側(cè)界面,即使使用了防刷新技術(shù)但仍無法實(shí)現(xiàn)此功能。</p><p>  本次設(shè)計(jì)是當(dāng)用戶登錄時(shí)先判斷用戶等級,對于普通用戶則先通過調(diào)用addCount()方法實(shí)現(xiàn)數(shù)據(jù)庫數(shù)據(jù)更新,然后調(diào)用VisitorcounterDao類中的getCount ()、getAllCount()方法查詢當(dāng)天訪問量和總訪問量,并將結(jié)果存放在session中,最后頁面通過讀取session中的結(jié)果顯示在頁面中。</p>

100、<p>  5.4 后臺模塊的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  后臺模塊設(shè)計(jì)中首先介紹了頁面的設(shè)計(jì),對它的功能子模塊,包括文章管理,相冊管理,公告管理,用戶管理等,功能基本相似,在此詳細(xì)介紹了相冊管理模塊的設(shè)計(jì)與實(shí)現(xiàn)。</p><p>  5.4.1 后臺頁面的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  在博客系統(tǒng)的后臺首頁設(shè)計(jì)中,首先將管理員常用的功能顯示在網(wǎng)面

101、的操作區(qū)域中,然后將后臺的主要功能顯示在網(wǎng)站的左側(cè)區(qū)域。博客系統(tǒng)面向博主的流程圖如圖5.7所示,后臺運(yùn)行界面如圖5.8所示。</p><p>  圖5.7 面向系統(tǒng)管理員的流程圖</p><p>  圖5.8 后臺頁面的運(yùn)行效果圖</p><p>  5.4.2 相冊管理模塊設(shè)計(jì)與實(shí)現(xiàn)</p><p>  (1) 相冊管理模塊概述<

102、/p><p>  相冊管理模塊的主要功能是實(shí)現(xiàn)對相片文件的上傳、查詢和刪除操作,可以使博主隨時(shí)更新個(gè)人博客網(wǎng)站內(nèi)的相冊文件,便于對相冊文件的管理,以吸引更多的瀏覽者。</p><p> ?。?) 相冊管理模塊技術(shù)分析</p><p>  在相冊管理模塊中,涉及的數(shù)據(jù)表是相冊信息表(photo),在相冊信息表中保存相冊存放的服務(wù)器的路徑及相冊標(biāo)題等信息,根據(jù)這些信息來創(chuàng)建

103、相冊管理模塊的ActionForm類,名稱為PhotoForm。相冊管理模塊對應(yīng)的Servlet實(shí)現(xiàn)類的名稱為PhotoSerlvet,其中,doGet()和doPost()方法本身沒有具體的事務(wù),而是通過,HttpServletRequest的getParameter()方法獲取的method參數(shù)值執(zhí)行相應(yīng)的方法的。</p><p>  (3) 相片上傳的實(shí)現(xiàn)過程</p><p>  博

104、主進(jìn)入后臺管理頁面中,單擊左側(cè)功能區(qū)中的“相冊添加”超鏈接,將進(jìn)入相片上傳頁面如圖5.9所示。</p><p>  圖5.9 相片上傳頁面</p><p>  相冊上傳應(yīng)用到j(luò)spSmartUpload上傳組件,在jspSmartUpload上傳組件中主要包含了File、Request和SmartUpload核心類。File類存所有上傳的文件,通過類中的方法可獲得上傳文件的數(shù)量和總長度等

105、信息。Request類因?yàn)楫?dāng)form表單用來實(shí)現(xiàn)文章上傳時(shí),通過jsp的內(nèi)置對象request的getParameter()方法無法獲取其他表單值,所以提供了該類來獲取。SmartUpload類用于實(shí)現(xiàn)文件的上傳與下載操作。</p><p>  (4) 相冊設(shè)置的實(shí)現(xiàn)過程</p><p>  博主進(jìn)入后臺管理頁面中,單擊左側(cè)功能區(qū)中的“相冊設(shè)置”超鏈接,網(wǎng)頁會自動彈出一個(gè)URL,即back

106、_PhotoSelect.jsp,將顯示所有照片的信息,在該頁面中,首先通過javabean定義分頁操作的類(MyPagination),之后調(diào)用PhotoDao類中的queryPhoto()、operationPhoto()方法對相片進(jìn)行查詢、刪除操作,最后將結(jié)果顯示在頁面中如圖5.10所示。</p><p>  圖5.10 相冊設(shè)置頁面</p><p><b>  6 系

107、統(tǒng)測試</b></p><p>  6.1 測試的目的</p><p>  本測試檢查此博客系統(tǒng)為網(wǎng)友提供的一個(gè)相互交流,學(xué)習(xí)的平臺可以正常使用,實(shí)現(xiàn)數(shù)據(jù)的共享和網(wǎng)友的互動交流。</p><p>  6.2 測試的方法</p><p>  單元測試又稱模塊測試,是針對軟件設(shè)計(jì)的最小單位——程序模塊,進(jìn)行正確性檢驗(yàn)的測試工作。這

108、個(gè)階段我們會對各個(gè)程序模塊可能存在的錯誤進(jìn)行分析,測試。</p><p>  集成測試也稱為組裝測試。在單元測試的基礎(chǔ)上,將所有模塊按照設(shè)計(jì)要求組裝成為系統(tǒng),進(jìn)行集成測試,這個(gè)階段我們查看模塊之間的連接功能,以及可能出現(xiàn)的錯誤。</p><p>  采用黑盒測試法對以上測試項(xiàng)進(jìn)行測試。</p><p><b>  6.3 測試過程</b>&l

109、t;/p><p>  6.3.1 單元測試</p><p> ?。?)首頁頁面布局,如圖6.1所示。</p><p>  圖6.1 首頁頁面顯示</p><p> ?。?)首頁顯示模塊測試結(jié)果如表6.1所示。</p><p>  表6.1 首頁顯示模塊測試結(jié)果</p><p> ?。?)登錄模塊測

110、試結(jié)果如表6.2所示。</p><p>  表6.2 登陸模塊測試結(jié)果</p><p> ?。?)博主后臺管理模塊測試結(jié)果如表6.3所示。</p><p>  表6.3 后臺管理模塊測試結(jié)果</p><p><b>  (5)測試頁面</b></p><p>  圖6.2 查看投票頁面</p

111、><p>  圖6.3 投票成功頁面</p><p>  圖6.4 后臺查看用戶成功頁面</p><p>  圖6.5后臺查看文章類別成功頁面</p><p>  圖6.6 后臺查看文章運(yùn)行成功頁面</p><p>  6.3.2 集成測試</p><p>  在單元測試的基礎(chǔ)上,將所有模塊按照設(shè)

112、計(jì)要求組裝成為系統(tǒng),進(jìn)行集成測試,這個(gè)階段我們查看模塊之間的連接功能,以及可能出現(xiàn)的錯誤如表6.4所示。</p><p>  表6.4 模塊之間的連接測試結(jié)果</p><p><b>  測試問題及解決</b></p><p>  表6.5 測試問題及解決</p><p>  6.3.4 測試結(jié)果</p>

113、<p>  通過對博客系統(tǒng)的單元測試,集成測試,發(fā)現(xiàn)了在訪問博客系統(tǒng)時(shí)出現(xiàn)了一些問題,并提出了解決方法。更好的完善了博客系統(tǒng),保證了其質(zhì)量且運(yùn)行時(shí)減少了一些錯誤。</p><p><b>  7 結(jié)論</b></p><p>  個(gè)人博客系統(tǒng)是對現(xiàn)在比較流行的博客網(wǎng)站進(jìn)行詳細(xì)調(diào)研后,確定了系統(tǒng)涉及的領(lǐng)域,包括數(shù)據(jù)庫設(shè)計(jì)、界面設(shè)計(jì)等,是一個(gè)具有實(shí)際應(yīng)用意義

114、的系統(tǒng)。本系統(tǒng)已實(shí)現(xiàn)功能如下:</p><p> ?。?)用戶登錄模塊實(shí)現(xiàn)了普通用戶登陸、博主登陸和用戶注冊功能。</p><p> ?。?)前臺用戶操作模塊實(shí)現(xiàn)了用戶瀏覽博文,查看評論,評論博文,查看公告、相冊、朋友信息等功能。</p><p> ?。?)后臺博主管理模塊實(shí)現(xiàn)了文章、公告、相冊、評論、用戶、朋友和博主自己信息的管理等功能。</p>&

115、lt;p>  課題系統(tǒng)相對原有博客實(shí)例的創(chuàng)新之處主要體現(xiàn)在以下幾個(gè)方面:</p><p> ?。?)采用JavaBean類來封裝事務(wù)邏輯、數(shù)據(jù)庫操作等,很好的實(shí)現(xiàn)業(yè)務(wù)邏輯和前臺程序的分離,使得系統(tǒng)具有更好的健壯性和靈活性;</p><p> ?。?)使用CSS來進(jìn)行布局設(shè)計(jì),使得頁面的布局更加靈活;</p><p> ?。?)實(shí)現(xiàn)文章、評論、相冊等模塊的自動分

116、頁功能,避免因?yàn)槲恼潞驮u論的數(shù)目過多而造成的管理不便。</p><p>  由于時(shí)間關(guān)系,系統(tǒng)在實(shí)施中有諸多考慮不足的地方。在往后拓展完善階段,個(gè)人博客系統(tǒng)還可以針對以下幾個(gè)方面進(jìn)一步開展研究、升級和實(shí)踐工作,如本次開發(fā)中尚未完成的功能,包括背景音樂,相冊分類查詢,美文推薦等功能;技術(shù)上需要進(jìn)一步更新;系統(tǒng)各個(gè)層次上的安全性能也有待提高。在今后的學(xué)習(xí)和工作當(dāng)中,我會再接再勵,做出更好的軟件系統(tǒng)。</p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論