2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  本科畢業(yè)設(shè)計(論文)</p><p><b> ?。ǘ?屆)</b></p><p>  基于Java的“博客”論壇系統(tǒng)的設(shè)計與實現(xiàn)</p><p>  所在學(xué)院 </p><p>  專業(yè)班級 計算機科學(xué)與技術(shù) &l

2、t;/p><p>  學(xué)生姓名 學(xué)號 </p><p>  指導(dǎo)教師 職稱 </p><p>  完成日期 年 月 </p><p>  摘要:隨著網(wǎng)絡(luò)的蓬勃發(fā)展,它在人類生活中扮演著越來越多重要的角色,人們也越來越需

3、要在網(wǎng)絡(luò)上進(jìn)行彼此的交流、互動。本課題是在eclipse+JDK 1.6開發(fā)環(huán)境下,使用java語言和SQL Server 2000數(shù)據(jù)庫開發(fā)一個博客論壇系統(tǒng)。系統(tǒng)主要功能包括:用戶登錄/注冊、信息查詢與瀏覽、發(fā)表評論、博客文章管理、公告管理、好友信息管理、博主信息設(shè)置等功。通過本系統(tǒng),用戶可以自主地進(jìn)入公共領(lǐng)域,對公共事務(wù)發(fā)表評論,同時也可以將個人的信息和文章與他人共享。本系統(tǒng)能為用戶提供一個具有開放性、共享性和個性化的互動平臺,享受

4、信息的即時性和網(wǎng)絡(luò)交流帶來的愉快體驗。</p><p>  關(guān)鍵詞:博客;java;信息共享</p><p>  Design and Implementation of Java-based "Blog" System</p><p>  Abstract:Because of its advancing technique, the netw

5、ork plays more and more important roles in human's life day by day.And people desire more interaction and communication on the internet with each other. This subject is to develop a blog system, using java language,

6、SQL Server 2000 database in eclipse and JDK 1.6 development environment. The system consists of foreground and background two patrs. Its main functions include: login / register, information query and browse, the comment

7、, blog post</p><p>  Keywords: Blog; Java; Information Sharing</p><p><b>  目 錄</b></p><p><b>  1 緒論1</b></p><p>  1.1 課題的研究背景1</p>&

8、lt;p>  1.1.1 博客簡介1</p><p>  1.1.2 博客的興起2</p><p>  1.2 課題研究的目的與意義2</p><p>  1.3 課題的研究內(nèi)容3</p><p>  1.4 課題的研究方法3</p><p><b>  2 開發(fā)工具5</

9、b></p><p>  2.1 JAVA5</p><p>  2.2 JSP5</p><p>  2.3 ECLIPSE6</p><p>  2.4 TOMCAT6</p><p>  2.5 SQL Server 2000數(shù)據(jù)庫6</p><p><b&

10、gt;  3 系統(tǒng)分析7</b></p><p>  3.1 需求分析7</p><p>  3.2 可行性分析8</p><p><b>  4 概要設(shè)計9</b></p><p>  4.1 E-R圖設(shè)計9</p><p>  4.2 數(shù)據(jù)表的邏輯結(jié)構(gòu)設(shè)計1

11、1</p><p>  5 系統(tǒng)設(shè)計與實現(xiàn)15</p><p>  5.1 網(wǎng)站前臺主要功能設(shè)計15</p><p>  5.1.1 用戶登錄注冊15</p><p>  5.1.2 文章列表17</p><p>  5.1.3 發(fā)表評論18</p><p>  5.2 網(wǎng)

12、站后臺主要功能設(shè)計20</p><p>  5.2.1 登錄后臺20</p><p>  5.2.2 博客文章管理模塊21</p><p>  5.2.3 好友信息管理模塊26</p><p>  5.2.4 博主設(shè)置模塊29</p><p>  6 系統(tǒng)測試與評價32</p>&l

13、t;p>  6.1 系統(tǒng)測試的方法32</p><p>  6.2 測試與評價32</p><p>  6.2.1 單元測試32</p><p>  6.2.2 集成測試35</p><p>  6.2.3 系統(tǒng)測試與評價35</p><p>  7 總結(jié)及展望36</p>

14、<p>  致謝錯誤!未定義書簽。</p><p><b>  參考文獻(xiàn)37</b></p><p><b>  1 緒論</b></p><p>  1.1 課題的研究背景</p><p>  1.1.1 博客簡介</p><p>  “博客”一詞源自英

15、文Blog,是其最常用的中文譯名。Blog是Web log(網(wǎng)絡(luò)日志)的簡稱,即以Web(網(wǎng)頁)的方式顯示和發(fā)布的日志,一個Blog就是一個網(wǎng)頁。擁有或撰寫這些Blog的人稱為Blogger或Blog writer,中文稱為博主。博客中每一篇日志或博主寫的文章、記錄就是一個Post(帖子),中文稱之為博文。博文一般較簡潔,而且經(jīng)常更新,按照時間倒序排列,內(nèi)容以超鏈接為表達(dá)方式。對每個博客而言,其鏈接地址不變,但其包含的內(nèi)容不斷被更新。因

16、此,博客主要有以下特點:</p><p> ?。?)新的傳播方式。博客的傳播方式是一種多對多的傳播,與傳統(tǒng)媒體一種一對多的傳播方式相反。正因為如此,它被稱為“新媒體”?!哆B線》雜志給“新媒體”下的定義很簡單:由所有人面向所有人進(jìn)行的傳播(communications for all,by all)。它使每個人不僅有聽的機會,而且有說的條件。博客從不孤立出現(xiàn),在瀏覽博客的時候,你很快會意識到它們構(gòu)成了網(wǎng)絡(luò)社區(qū)——尤

17、其是那些關(guān)系緊密的社區(qū)——的基礎(chǔ)交流平臺[1]。社區(qū)內(nèi)的人利用博客分享彼此的信息。網(wǎng)絡(luò)一向帶給人們無障礙溝通的承諾,但博客卻真正將此承諾化作了現(xiàn)實[1]。</p><p> ?。?)開放性和共享性。技術(shù)上的突破,使博客具備開放性,進(jìn)而使人們在信息世界中的角色也發(fā)生了巨大改變。成為博客一族不需要具備某一領(lǐng)域的專業(yè)能力,例如計算機編程能力、新聞搜集分析能力、美術(shù)設(shè)計能力等等,只要有興趣就足夠。并且從被動的信息接收者,

18、變成信息的首發(fā)者、傳播者。另一方面,博客的超級鏈接功能從而使博客這一新興媒體完全面向所有人群。博客作為內(nèi)容的開放源代碼,向外的鏈接擴展了文檔,使文檔的表現(xiàn)力實現(xiàn)質(zhì)的飛躍[1]。正是從這個意義上說,博客比其他網(wǎng)絡(luò)媒體有更好的優(yōu)勢去實現(xiàn)“個人孤島”的連接[1]。</p><p>  (3)個人化和豐富性。從內(nèi)容上說,博客區(qū)別于其他媒體的另一特征是完全歸屬于個人,而不由社會組織、企業(yè)等團(tuán)體所擁有。它從個人角度得到信息、

19、表述信息、發(fā)布信息?,F(xiàn)在人們的生活越來越豐富,不僅有文化講座、音樂會等各方面的活動充實精神生活,提升文化修養(yǎng)、精神境界,更有日常生活中上下班路上的所見所聞、自身的經(jīng)歷、工作學(xué)習(xí)的狀況、隨感、周圍的新鮮事、生活中的精彩瞬間和溫馨時刻等等,都有讓人忍不住想要與他人分享的喜悅、想要傾訴的煩惱。于是,博客的出現(xiàn)極大地滿足了博主們記錄生活點滴、思想感悟的需求。因為在內(nèi)容的表現(xiàn)技術(shù)上,博客不僅支持文字、圖片,還支持音頻、視頻等多媒體信息,使得其內(nèi)容

20、具有極大的豐富性。</p><p>  (4)傳播渠道多樣化、信息即時性和交互性。博客的傳播可以通過網(wǎng)絡(luò)、特定客戶端訪問,也可以通過手機訪問WAP網(wǎng)站或手機客戶端。伴隨這一多樣性的是信息的即時性。信息發(fā)布者可以通過手機、電腦,迅速發(fā)布即時信息,而有關(guān)接收者也能在第一時間了解好友等相關(guān)發(fā)布者的情況、做出回應(yīng)。雖然報紙、雜志、電視等傳統(tǒng)信息傳播媒體有其難以替代的獨特之處,但是從信息的獲得到發(fā)出再到收到反饋,必需經(jīng)歷一

21、定的時間,因而相對滯后。而且傳統(tǒng)媒體是通過職業(yè)人士獲取信息、素材,而人人都可以成為博主,隨時隨地自主發(fā)布信息。</p><p>  博客的這些特性是傳統(tǒng)媒體難以超越的,是它的特色,但也存在一些爭議。比如:雖然這種新的傳輸方式可以說是一種巨大的變革,但它帶來的信息無法保證真實性、準(zhǔn)確性,一旦眾說紛紜,很容易就讓人覺得無從選擇,難以下手。沒有限制的開放性,潛在可能的風(fēng)險,例如不懷好意者隨意發(fā)布他人隱私,而法律在網(wǎng)絡(luò)監(jiān)

22、管方面出臺有效辦法需要一定時間,只能寄希望于博客技術(shù)上的改進(jìn)。</p><p>  1.1.2 博客的興起</p><p>  博客最古老的原形要算NCSA的“What's New Page”網(wǎng)頁,主要是羅列Web上新興的網(wǎng)站索引[1]。1997年4月1日,Dave Winer 開始出版Scripting News,這個網(wǎng)站是從早期的Davenet演變而來的,是一個介紹技術(shù)界的一

23、些動態(tài)的站點。同年12 月,Jorn Barger運行“RobotWisdom Weblog”,第一次使用Weblog這個名字。1998年正式成為通過網(wǎng)頁或網(wǎng)站鏈接進(jìn)行個人化信息發(fā)布和思想表達(dá)的一種方式。它充分利用了網(wǎng)絡(luò)雙向互動、超文本鏈接、動態(tài)更新、覆蓋范圍廣的特點,將使用者的工作過程、思路經(jīng)歷、思想精華、閃現(xiàn)的靈感等及時記錄和發(fā)布,選取并聯(lián)接全球互聯(lián)網(wǎng)中最有價值、最相關(guān)、最有意思的信息與資源,它的出現(xiàn)標(biāo)志著互聯(lián)網(wǎng)從傳統(tǒng)的信息共享開始

24、漸漸跨過“思想共享”的門檻[2]。1999 年,PeterMerholz以縮略詞“blog”來命名博客,成為今天最常用的術(shù)語。</p><p>  2002年被稱為“互聯(lián)網(wǎng)的博客之年”,各大媒體都注意到了Blog的迅猛發(fā)展。2004年,隨著AOL、Google、Yahoo等全球幾家最大的互聯(lián)網(wǎng)公司開始全面提供Blog服務(wù),隨著歐洲、日本、韓國等國家最主要的ISP服務(wù)商也加入Blog服務(wù)陣營,Blog浪潮將越來越給

25、主流媒體帶來影響和沖擊[3]。這是Blog完全進(jìn)入主流的一年,從而Blog成為引發(fā)社會變革的主要力量之一。</p><p>  2002 年8 月方興東與王俊秀首次將Blog引入中國,隨即便在中國網(wǎng)民中掀起了狂潮,以飛快的速度成長起來。2005年伊始,各大門戶網(wǎng)站紛紛加入博客陣營,博客開始步入草根繁榮時代,2005年也往往被人們稱作“中國博客元年” [4]。</p><p>  1.2

26、課題研究的目的與意義</p><p>  博客已進(jìn)入人們的生活,漸漸開始成為生活中不可缺少的一部分,并帶來許多積極的改變和影響。人們利用它可以更好的學(xué)習(xí)、工作。知識、思想可以獲得超越時間、空間的限制,得到在可鏈接達(dá)到的最大范圍的共同探討、交流。全球現(xiàn)在有接近100萬Blogger,而且每4秒鐘就會產(chǎn)生一名新的Blogger[5]。</p><p>  目前,全球活躍的移動博客網(wǎng)站有上百家,

27、以分布式的互聯(lián)網(wǎng)和手機為技術(shù)平臺,以開放的個人為主體,以自組織的弱紐帶為主要連結(jié)方式,雙向度、多媒體方式的博客傳播方式,不但將重新塑造媒體,也將變革整個社會[6]。未來的博客將是集成各種網(wǎng)絡(luò)應(yīng)用的中心:包括電子郵件、即時短訊、 博客應(yīng)用、 協(xié)同辦公以及留言討論等,而且除了電腦,還可以通過手機、電視、電話等各種終端無所不在地進(jìn)行博客[6]。</p><p>  研究此課題能更好地從各個角度了解博客這一新興傳播方式的

28、優(yōu)勢,以及廣收追捧的原因、思考發(fā)展的可能。同時,通過完成本系統(tǒng)的設(shè)計,讓自己對專業(yè)知識有一個更深入的認(rèn)識,提高自己的綜合能力。</p><p>  1.3 課題的研究內(nèi)容</p><p>  本課題的設(shè)計擬開發(fā)一個基于Java的博客系統(tǒng)。系統(tǒng)主要功能分前臺與后臺。</p><p><b>  前臺功能:</b></p><

29、p> ?。?)登錄/注冊:包括“登錄”、“注冊”等模塊。</p><p> ?。?)信息查詢、瀏覽:包括“文章查詢”、“公告查詢”等模塊。</p><p> ?。?)發(fā)表評論:包括“添加評論”等功能模塊。</p><p><b>  后臺功能:</b></p><p>  (1)發(fā)表信息:“博主”在后臺可以添加、瀏

30、覽所發(fā)布的各種信息與評論。</p><p> ?。?)管理信息:對各種信息進(jìn)行管理、設(shè)置。對不道德的信息與評論可以隨時刪除,并提出警告。</p><p>  1.4 課題的研究方法</p><p><b> ?。?)調(diào)查研究法</b></p><p>  對一些有影響力的或特色的博客網(wǎng)站進(jìn)行訪問,了解它們的獨特之處,嘗

31、試發(fā)現(xiàn)優(yōu)勢及不足。從自身周圍,對同學(xué)等人群采取訪談法,進(jìn)而了解博客在大學(xué)群體中的應(yīng)用現(xiàn)狀和用戶對博客的看法。</p><p><b> ?。?)文獻(xiàn)研究法</b></p><p>  文獻(xiàn)研究法主要指收集、鑒別、整理文獻(xiàn),并通過對文獻(xiàn)的研究,形成對事實科學(xué)認(rèn)識的方法[7]。該方法主要用于系統(tǒng)開發(fā)的前期。首先,通過閱讀大量文獻(xiàn),以此確定畢業(yè)設(shè)計的選題。然后,根據(jù)相關(guān)文獻(xiàn)

32、,對系統(tǒng)進(jìn)行需求分析和可行性分析,從而確定自己的研究方向和實現(xiàn)方法。</p><p> ?。?)結(jié)構(gòu)化系統(tǒng)設(shè)計法方法</p><p>  將整個系統(tǒng)的設(shè)計任務(wù)按功能劃分成若干個模塊,各模塊間的關(guān)系盡可能簡單,自頂向下、逐步求精。</p><p>  (4)數(shù)據(jù)庫設(shè)計方法</p><p>  通過該方法,設(shè)計出結(jié)構(gòu)完整并適合管理的數(shù)據(jù)庫。<

33、;/p><p><b>  2 開發(fā)工具</b></p><p>  根據(jù)博客系統(tǒng)的特點,為了使開發(fā)過程方便以及達(dá)到較好的實現(xiàn)效果,選擇以下語言、開發(fā)環(huán)境及數(shù)據(jù)庫進(jìn)行開發(fā)。</p><p><b>  2.1 JAVA</b></p><p>  Java是James Gosling領(lǐng)導(dǎo)的小組在Su

34、n Microsystems公司開發(fā)的。近年來,Java變得非常流行。Java快速發(fā)展以及被廣泛接受都?xì)w功于它的設(shè)計特點,特別是它承諾一旦編寫了程序,在任何地方都可以運行。就像Sun公司聲明的Java語言白皮書一樣,Java是簡單的、面向?qū)ο蟮摹⒎植际降?、解釋型的、健壯的、安全的、結(jié)構(gòu)中立的、可移植的、高性能的、多線程的和動態(tài)的[8]。</p><p>  Java是功能齊全的通用程序設(shè)計語言,可以開發(fā)可靠的、要

35、求嚴(yán)格的應(yīng)用程序?,F(xiàn)在它不僅用于Web程序設(shè)計,而且用于在服務(wù)器、臺式機和移動設(shè)備上開發(fā)跨平臺的獨立應(yīng)用程序[8]。</p><p>  萬維網(wǎng)上的主要創(chuàng)作語言是超文本標(biāo)記語言(HTML)。但用HTML制作的Web網(wǎng)頁基本上是靜態(tài)的和單調(diào)的。而Java程序可以在Web瀏覽器中運行。這種程序稱為applet,它使用現(xiàn)代圖形用戶界面來與用戶進(jìn)行交互,處理他們的請求,這些界面中包括按鈕、文本域、文本區(qū)域、單選按鈕等。a

36、pplet使網(wǎng)頁更加靈活、生動和易于交互。</p><p>  Java還可以用來開發(fā)服務(wù)器端的應(yīng)用程序。這些程序稱為Java servlets或JavaServer Pages(JSP),他們可以在Web服務(wù)器上運行,生成動態(tài)網(wǎng)頁[8]。</p><p>  Java是一個功能強大的程序設(shè)計語言。它既可以用來開發(fā)臺式機和服務(wù)器的應(yīng)用程序,也可以開發(fā)小型掌上設(shè)備的應(yīng)用程序。</p&g

37、t;<p><b>  2.2 JSP</b></p><p>  JSP是Sun Microsystems公司倡導(dǎo),許多公司參與一切建立的一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。它在HTML代碼中,插入JSP標(biāo)記(Tag)及Java程序片斷(Scriptlet)構(gòu)成JSP頁面,其擴展名為.jsp[9]。當(dāng)客戶端請求某JSP文件時,Web服務(wù)器執(zhí)行該JSP文件,然后以HTML的格式返回給客戶。

38、JSP是構(gòu)建在Servlet,以及整個Java體系的Web開發(fā)技術(shù)之上的高層次的動態(tài)網(wǎng)頁標(biāo)準(zhǔn)[9]。利用這一技術(shù)可以建立先進(jìn)、安全和跨平臺的動態(tài)網(wǎng)站。JSP具有以下特點:</p><p>  (1)具有很好的跨平臺性。</p><p>  (2)應(yīng)用程序與界面分開。Web開發(fā)人員使用HTML標(biāo)記設(shè)計界面,使用JSP標(biāo)記或腳本生成頁面上的動態(tài)內(nèi)容。JSP技術(shù)使開發(fā)人員的分工更加明確,頁面設(shè)計

39、者可以修改內(nèi)容的顯示而不影響邏輯,應(yīng)用程序的開發(fā)者修改邏輯而不影響內(nèi)容的顯示[10]。</p><p> ?。?)生成可重用的組件。絕大多數(shù)JSP頁面依賴于可重用、跨平臺的組件(JavaBean或Enterprise JavaBeanTM組件)執(zhí)行應(yīng)用程序的復(fù)雜處理,開發(fā)人員能共享和交換組件,加速總體開發(fā)過程[10]。</p><p>  (4)應(yīng)用標(biāo)記簡化頁面的開發(fā)。</p>

40、<p> ?。?)數(shù)據(jù)庫操作功能強大。Java應(yīng)用JDBC(Java Database Connectivity)連接數(shù)據(jù)庫,通過JDBC驅(qū)動程序訪問數(shù)據(jù)庫。</p><p>  (6)擁有Java的優(yōu)勢、特點。</p><p>  2.3 ECLIPSE</p><p>  Eclipse是一個優(yōu)秀的集成開發(fā)環(huán)境,同時又是一個可以不斷擴展的開放平臺

41、。其目的是提供一個集成開發(fā)工具的必要服務(wù)。它擁有一個非常小的運行內(nèi)核,其他功能可以通過一個或一系列插件實現(xiàn)[9]。插件式的設(shè)計使其具有良好的擴展性,可以在此基礎(chǔ)上開發(fā)出支持其他語言的開發(fā)工具。通過集成大量插件,Eclipse的功能可以不斷擴展以支持各種不同的應(yīng)用,其插件可以用于管理多種開發(fā)任務(wù),其中包括性能優(yōu)化、程序調(diào)試等,而且還可以集成來自多個供貨商的第三方應(yīng)用程序開發(fā)工具[9]。Eclipse簡化了用于多種操作系統(tǒng)的軟件工具的開發(fā)過

42、程,可以在多個操作系統(tǒng)上運行。</p><p>  2.4 TOMCAT</p><p>  Tomcat是Apache Jakarta軟件組織的一個子項目,Tomcat是一個JSP/Servlet容器,它是在Sun公司的JSWDK(Java Server Web Development Kit)基礎(chǔ)上發(fā)展起來的一個JSP和Servlet規(guī)范的標(biāo)準(zhǔn)實現(xiàn),使用Tomcat可以體驗JSP和S

43、ervlet的最新規(guī)范[9]。經(jīng)過多年發(fā)展,Tomcat更是具備了很多商業(yè)Java Servlet容器的特性,并被一些企業(yè)用于商業(yè)用途。</p><p>  2.5 SQL Server 2000數(shù)據(jù)庫</p><p>  Microsoft SQL Server 2000是Sybase和Microsoft公司的數(shù)據(jù)庫產(chǎn)品,是基于客戶/服務(wù)器結(jié)構(gòu)的數(shù)據(jù)庫管理系統(tǒng)。它具有在企業(yè)級應(yīng)用的特點

44、:能夠存儲大容量數(shù)據(jù),保證數(shù)據(jù)安全性、維護(hù)數(shù)據(jù)完整性,具有自動高效的機制,能運行分布式事務(wù)[11]。數(shù)據(jù)庫中的數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和存儲,具有較小的冗余度、較高的數(shù)據(jù)獨立性和易擴展性,并可為各種用戶共享[11]。在開發(fā)一個系統(tǒng)之前,首先要完成的就是數(shù)據(jù)庫的設(shè)計。數(shù)據(jù)庫設(shè)計是指對于一個給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠有效地存儲數(shù)據(jù)[12]。</p><p>  通過W

45、eb應(yīng)用程序訪問的數(shù)據(jù)庫稱為Web數(shù)據(jù)庫。Web數(shù)據(jù)庫訪問技術(shù)的特點:</p><p> ?。?)客戶端統(tǒng)一的界面。用戶在客戶端使用瀏覽器只需掌握其界面的應(yīng)用技術(shù),大大降低了使用難度。</p><p> ?。?)統(tǒng)一的開發(fā)標(biāo)準(zhǔn)。HTML是Web信息的組織方式,是一種國際標(biāo)準(zhǔn),Web服務(wù)器與瀏覽器都遵循該標(biāo)準(zhǔn)。開發(fā)者要掌握的主要技術(shù)標(biāo)準(zhǔn)是HTML,這在很大程度上降低了開發(fā)難度,同時也減少了開

46、發(fā)成本。</p><p><b>  (3)跨平臺運行。</b></p><p><b>  3 系統(tǒng)分析</b></p><p><b>  3.1 需求分析</b></p><p>  通過對大量博客網(wǎng)站的調(diào)查研究,根據(jù)這些網(wǎng)站的特點,并與用戶進(jìn)行溝通,本系統(tǒng)應(yīng)具備以下

47、功能:</p><p> ?。?)統(tǒng)一、友好的操作界面,能保證系統(tǒng)的易用性。</p><p> ?。?)博客文章管理。方便博主對文章進(jìn)行添加、修改、刪除等操作。</p><p>  (3)公告管理。方便博主對公告信息進(jìn)行添加、修改、刪除等操作。</p><p> ?。?)好友信息管理。方便博主對好友信息進(jìn)行添加、修改、刪除等操作。</p

48、><p> ?。?)博主信息設(shè)置。方便博主對個人信息的修改和及時更新。</p><p> ?。?)添加評論。方便其他用戶對文章添加評論。</p><p>  (7)查詢功能,方便用戶查詢信息。</p><p>  為滿足不同用戶的需求,系統(tǒng)前臺各功能如圖3-1所示。</p><p>  圖3-1 前臺功能模塊圖</p

49、><p>  系統(tǒng)后臺功能如圖3-2所示。</p><p>  圖3-2 后臺功能模塊圖</p><p>  3.2 可行性分析</p><p>  可行性研究的目的,就是用最小的代價在盡可能短的時間內(nèi)確定問題是否能夠解決[13]。本課題的可行性分析主要包括技術(shù)可行性、經(jīng)濟可行性和操作可行性。</p><p><b

50、>  (1)技術(shù)可行性</b></p><p>  本系統(tǒng)在eclipse+JDK 1.6開發(fā)環(huán)境下,使用java語言、Tomcat 7.0服務(wù)器及SQL Server 2000數(shù)據(jù)庫開發(fā)。隨著信息技術(shù)的發(fā)展,目前一般的電腦內(nèi)存都已達(dá)到1G,普通的硬件配置能夠支持上述軟件的正常運行。如前所述,eclipse+JDK是一個強大的開發(fā)環(huán)境,Java語言有著簡單、面向?qū)ο?、健壯、安全、可移植等?yōu)點,許

51、多已經(jīng)開發(fā)成功的經(jīng)典項目足以證明此技術(shù)的可行性。</p><p><b>  (2)經(jīng)濟可行性</b></p><p>  本項目無需投入設(shè)備購買費用,微機實驗室的設(shè)備完全可以保證系統(tǒng)的開發(fā)和調(diào)試。博客系統(tǒng)一旦開發(fā)成功投入運行,隨著博客用戶的數(shù)量和網(wǎng)站的知名度的上升,訪問量也會大幅度提高,可能會帶來極大的經(jīng)濟效益。</p><p><b&

52、gt; ?。?)操作可行性</b></p><p>  該系統(tǒng)的開發(fā)思想是基于簡單的操作性、持久的穩(wěn)定性和良好的安全性。根據(jù)博客系統(tǒng)的特點,用戶在互聯(lián)網(wǎng)上就可以擁有自己的空間,直接在瀏覽器里就可以查看和運行。合理的功能設(shè)計和簡單的操作,既方便用戶查詢、瀏覽信息,也方便博主對自己空間的管理。</p><p>  綜上所述,課題的研究在技術(shù)上、經(jīng)濟上及操作上都是可行的。</p

53、><p><b>  4 概要設(shè)計</b></p><p>  通過需求分析,確定了本系統(tǒng)所應(yīng)具備的功能,本系統(tǒng)的概要設(shè)計包括:E-R圖設(shè)計和數(shù)據(jù)表的邏輯結(jié)構(gòu)設(shè)計。</p><p>  4.1 E-R圖設(shè)計</p><p>  E-R圖是實體-聯(lián)系圖,提供了表示實體、屬性和聯(lián)系的方法,下面列出了各表和表與表之間E-R圖。

54、</p><p>  (1)博主信息(tb_consumer)E-R圖如圖4-1所示。</p><p>  圖4-1博主信息(tb_consumer)E-R圖</p><p> ?。?)文章信息(tb_article)E-R圖如圖4-2所示。</p><p>  圖4-2文章信息(tb_article)E-R圖</p><

55、p> ?。?)文章類型(tb_articleType)E-R圖如圖4-3所示。</p><p>  圖4-3文章類型(tb_articleType)E-R圖</p><p> ?。?)評論信息(tb_restore)E-R圖如圖4-4所示。</p><p>  圖4-4評論信息(tb_restore)E-R圖</p><p> ?。?)

56、公告信息(tb_discuss)E-R圖如圖4-5所示。</p><p>  圖4-5公告信息(tb_discuss)E-R圖</p><p> ?。?)好友信息(tb_friend)E-R圖如圖4-6所示。</p><p>  圖4-6好友信息(tb_friend)E-R圖</p><p>  4.2 數(shù)據(jù)表的邏輯結(jié)構(gòu)設(shè)計</p&g

57、t;<p>  本系統(tǒng)數(shù)據(jù)庫采用SQL Server 2000數(shù)據(jù)庫,系統(tǒng)數(shù)據(jù)庫名稱為db_BlodMay。數(shù)據(jù)庫中包含6張數(shù)據(jù)表:博主信息表(tb_consumer)、文章信息表(tb_article)、文章類型表(tb_articleType)、評論信息表(tb_restore)、公告信息表(tb_discuss)和好友信息表(tb_friend)。</p><p>  (1)博主信息表(tb_

58、consumer)</p><p>  該表用于存儲博主的基本信息,包括編號(id)、賬號(account)、密碼(password)、姓名(name)、性別(sex)、主頁(mainPage)、興趣愛好(interest)、電子郵箱(eMail)、用戶級別(manageLevel)。在已創(chuàng)建的SQL Server 2000數(shù)據(jù)庫db_BlodMay中,創(chuàng)建一個表,名為tb_consumer,向表中添加字段如表4

59、-1所示。</p><p>  表4-1 tb_consumer表</p><p> ?。?)文章信息表(tb_article)</p><p>  該表用于存儲文章的基本信息,包括編號(id)、類型編號(typeID)、文章標(biāo)題(title)、文章內(nèi)容(content)、文章發(fā)表時間(phTime)、查看次數(shù)(number),向表中添加字段如表4-2所示。<

60、/p><p>  表4-2 tb_article表</p><p> ?。?)文章類型表(tb_articleType)</p><p>  該表用于存儲文章類型的基本信息,包括編號(id)、文章類型名稱(typeName)、文章類型描述(description),向表中添加字段如表4-3所示。</p><p>  表4-3 tb_article

61、Type表</p><p> ?。?)評論信息表(tb_restore)</p><p>  該表用于存儲評論的基本信息,包括編號(id)、文章編號(articleId)、評論人(reAccount)、評論內(nèi)容(reContent)、評論標(biāo)題(reTitle),向表中添加字段如表4-4所示。</p><p>  表4-4 tb_restore表</p>

62、<p> ?。?)公告信息表(tb_discuss)</p><p>  該表用于存儲公告的基本信息,包括編號(id)、公告主題(discussTitle)、公告內(nèi)容(discussContent)、公告發(fā)表時間(discussTime),向表中添加字段如表4-5所示。</p><p>  表4-5 tb_discuss表</p><p> ?。?)好友

63、信息表(tb_friend)</p><p>  該表用于存儲公告的基本信息,包括編號(id)、好友昵稱(name)、好友qq號碼(QQNumber)、好友備注(description),向表中添加字段如表4-6所示。</p><p>  表4-6 tb_friend表</p><p>  5 系統(tǒng)設(shè)計與實現(xiàn)</p><p>  5.1

64、網(wǎng)站前臺主要功能設(shè)計</p><p>  網(wǎng)站后臺功能主要包括用戶登錄/注冊、文章列表和發(fā)表評論。</p><p>  5.1.1 用戶登錄注冊</p><p>  用戶登錄博客網(wǎng)站,首先進(jìn)入系統(tǒng)首頁,首頁即用戶的登錄注冊頁面。</p><p>  登錄注冊頁面如圖5-1所示。</p><p><b>  

65、圖5-1 登錄注冊</b></p><p><b>  主要代碼如下:</b></p><p>  public void registerConsumer(HttpServletRequest request,</p><p>  HttpServletResponse response) throws ServletExcept

66、ion, IOException {</p><p>  request.setCharacterEncoding("gb2312");</p><p>  ConsumerForm form = new ConsumerForm();</p><p>  consumerDao = new ConsumerDao();</p>&

67、lt;p>  form.setAccount(Chinese.toChinese(request.getParameter("account")));</p><p>  form.setPassword(Chinese.toChinese(request.getParameter("password")));</p><p>  form.s

68、etName(Chinese.toChinese(request.getParameter("name")));</p><p>  form.setSex(Chinese.toChinese(request.getParameter("sex")));</p><p>  form.setQQNumber(request.getParameter(

69、"QQnumber"));</p><p>  form.setMainPage(request.getParameter("mainPage"));</p><p>  form.setInterest(Chinese.toChinese(request.getParameter("interest")));</p>

70、<p>  form.setEMail(request.getParameter("eMail"));</p><p>  form.setManageLevel("普通");</p><p>  String result = "fail";</p><p>  if (consumerDa

71、o.getConsumerForm(form.getAccount()) == null) {</p><p>  if (consumerDao.addConsumerForm(form)) {</p><p>  request.setAttribute("form", consumerDao.getConsumerForm(form</p><

72、p>  .getAccount()));</p><p>  result = "success";</p><p><b>  }</b></p><p><b>  }</b></p><p>  request.setAttribute("result&qu

73、ot;, result);</p><p>  RequestDispatcher requestDispatcher = request</p><p>  .getRequestDispatcher("dealwith.jsp");</p><p>  requestDispatcher.forward(request, response);

74、</p><p><b>  }</b></p><p>  public void checkConsumer(HttpServletRequest request,</p><p>  HttpServletResponse response) throws ServletException, IOException {</p>

75、<p>  request.setCharacterEncoding("gb2312");</p><p>  String account = request.getParameter("account");</p><p>  consumerDao = new ConsumerDao();</p><p>

76、  ConsumerForm consumerForm = consumerDao.getConsumerForm(account);</p><p>  if (consumerForm == null) {</p><p>  request.setAttribute("information", "您輸入的用戶名不存在,請重新輸入!");<

77、;/p><p>  } else if (!consumerForm.getPassword().equals(</p><p>  request.getParameter("password"))) {</p><p>  request.setAttribute("information", "您輸入的登錄密碼有誤

78、,請重新輸入!");</p><p><b>  } else {</b></p><p>  request.setAttribute("form", consumerForm);</p><p><b>  }</b></p><p>  RequestDispat

79、cher requestDispatcher = request</p><p>  .getRequestDispatcher("dealwith.jsp");</p><p>  requestDispatcher.forward(request, response);</p><p><b>  }</b></p

80、><p>  5.1.2 文章列表</p><p>  用戶登錄后進(jìn)入博客空間,空間內(nèi)的主要內(nèi)容為文章列表。</p><p>  文章列表如圖5-2所示。</p><p><b>  圖5-2文章列表</b></p><p><b>  主要代碼如下:</b></p>

81、;<p><b>  <%</b></p><p>  List list=articleTypeDao.queryArticleType();</p><p>  for(int i=0;i<list.size();i++){</p><p>  ArticleTypeForm articleTypeForm=(Ar

82、ticleTypeForm)list.get(i);</p><p><b>  %></b></p><p>  <a href="head_ArticleList.jsp?typeId=<%=articleTypeForm.getId()%>"></p><p>  [<%=artic

83、leTypeForm.getTypeName()%>]</a>&nbsp;</p><p><b>  <%}%></b></p><p><b>  <%</b></p><p>  for(int articleI=0;articleI<articleNumber;ar

84、ticleI++){</p><p>  ArticleForm articleForm=(ArticleForm)articleList.get(articleI);</p><p>  String articleContent=articleForm.getContent();</p><p>  if(articleContent.length()>1

85、00){</p><p>  articleContent=articleContent.substring(0,100)+"...";</p><p><b>  }</b></p><p><b>  %></b></p><p>  5.1.3 發(fā)表評論</p

86、><p>  查看博主發(fā)表的文章全文,用戶可以對文章進(jìn)行評論。</p><p>  添加評論界面如圖5-3所示。</p><p>  圖5-3 添加評論界面</p><p><b>  主要代碼如下:</b></p><p>  public void HeadAddRestore(HttpServl

87、etRequest request,</p><p>  HttpServletResponse response) throws ServletException, IOException {</p><p>  response.setContentType("text/html;charset=GBK");</p><p>  PrintW

88、riter out = response.getWriter();</p><p>  restoreDao = new RestoreDao();</p><p>  RestoreForm restoreForm = new RestoreForm();</p><p>  restoreForm.setArticleId(Integer.valueOf(req

89、uest.getParameter("articleId")));</p><p>  restoreForm.setReAccount(request.getParameter("accountId"));</p><p>  restoreForm.setReTitle(Chinese.toChinese(request.getParameter

90、("reTitle")));</p><p>  restoreForm.setReContent(Chinese.toChinese(request.getParameter("reContent")));</p><p>  if (restoreDao.operationRestore("添加", restoreForm))

91、 {</p><p>  out.print("<script language=javascript>alert('添加回復(fù)信息成功,請重新查詢!');</p><p>  window.location.href='head_ArticleForm.jsp?id="+request.getParameter("artic

92、leId")+"';</script>");</p><p><b>  } else {</b></p><p>  out.print("<script language=javascript>alert('添加回復(fù)信息失??!');history.go(-1);</scr

93、ipt>");</p><p><b>  }</b></p><p><b>  }</b></p><p>  5.2 網(wǎng)站后臺主要功能設(shè)計</p><p>  網(wǎng)站后臺主要功能設(shè)計包括后臺登錄、博客文章管理、好友信息管理、博主信息設(shè)置。</p><p>

94、;  5.2.1 登錄后臺</p><p>  高級用戶輸入正確的用戶名和密碼登錄后,網(wǎng)頁中有“進(jìn)入后臺”的鏈接,可點擊進(jìn)入管理后臺。</p><p>  后臺管理界面如圖5-4所示。</p><p>  圖5-4 后臺管理界面</p><p><b>  主要代碼如下:</b></p><p>

95、;  <table width="573" border="0" cellpadding="0" cellspacing="0" </p><p>  background="images/back_noword_05.jpg"></p><p><b>  <t

96、r></b></p><p>  <td valign="middle"><table border="0" align="center" cellpadding="0" cellspacing="0"></p><p><b>  <

97、;tr></b></p><p>  <td width="81" height="88"><img src="images/article.jpg" width="81" height="72"></td></p><p>  <

98、td width="140" height="88"><a href="back_ArticleAdd.jsp" class="aaaa">發(fā)表博客文章</a><br></td></p><p>  <td width="81"><img sr

99、c="images/review.jpg" width="81" height="72"></td></p><p>  <td width="140"><a href="back_DiscussAdd.jsp" class="aaaa">公告添加<

100、;/a><br></td></p><p><b>  </tr></b></p><p><b>  <tr></b></p><p>  <td height="74"><a href="ConsumerServlet

101、?method=4"><img src="images/manager.jpg" width="81" height="72"></a></td></p><p>  <td width="140" height="88"><a href=&qu

102、ot;ConsumerServlet?method=4" class="aaaa">博主設(shè)置</a><br></td></p><p>  <td><a href="back_FriendAdd.jsp"><img src="images/friend.jpg" width

103、="81" height="72"></p><p><b>  </a></td></b></p><p>  <td width="140"><a href="back_FriendAdd.jsp" class="aaaa&qu

104、ot;>好友添加</a><br></td></p><p><b>  </tr></b></p><p><b>  <tr></b></p><p>  <td height="94"><a href="C

105、onsumerServlet?method=4"><img src="images/account.jpg" width="81" height="72"></a></td></p><p>  <td height="94" colspan="3">

106、<a href="back_consumerSelect.jsp" class="aaaa">用戶設(shè)置</a><br></td></p><p><b>  </tr></b></p><p><b>  </table></b><

107、;/p><p>  5.2.2 博客文章管理模塊</p><p>  博客文章管理有發(fā)表文章、文章設(shè)置、文章分類三個功能。</p><p><b> ?。?)發(fā)表文章</b></p><p>  單擊發(fā)表文章的超鏈接進(jìn)入發(fā)表文章頁面,通過該頁可發(fā)表文章。</p><p>  發(fā)表文章界面如圖5-5所

108、示。</p><p>  圖5-5 發(fā)表文章界面</p><p><b>  主要代碼如下:</b></p><p>  public void addArticle(HttpServletRequest request,</p><p>  HttpServletResponse response) throws Se

109、rvletException, IOException {</p><p>  ArticleForm articleForm = new ArticleForm();</p><p>  articleForm.setTypeId(Integer.valueOf(request.getParameter("typeId")));</p><p>

110、;  articleForm.setTitle(Chinese.toChinese(request.getParameter("title")));</p><p>  articleForm.setNumber(Integer.valueOf(request.getParameter("number")));</p><p>  articleFo

111、rm.setContent(Chinese.toChinese(request.getParameter("content")));</p><p>  articleForm.setPhTime(Chinese.toChinese(request.getParameter("phTime")));</p><p>  articleDao = ne

112、w ArticleDao();</p><p>  String result = "文章添加失?。?quot;;</p><p>  if (articleDao.operationArticle("添加", articleForm)) {</p><p>  result = "文章添加成功!";</p&g

113、t;<p><b>  }</b></p><p>  request.setAttribute("result", result);</p><p>  RequestDispatcher requestDispatcher = request.getRequestDispatcher("back_ArticleAdd.j

114、sp");</p><p>  requestDispatcher.forward(request, response);</p><p><b>  }</b></p><p><b> ?。?)文章設(shè)置</b></p><p>  點擊“博主文章設(shè)置”進(jìn)入文章設(shè)置頁面,在該頁可對發(fā)表的

115、文章進(jìn)行修改、刪除的操作。</p><p>  文章設(shè)置界面如圖5-6所示。</p><p>  圖5-6 文章設(shè)置界面</p><p>  刪除文章,主要代碼如下:</p><p>  public void deleteArticle(HttpServletRequest request,</p><p>  Ht

116、tpServletResponse response) throws ServletException, IOException {</p><p>  response.setContentType("text/html;charset=GBK");</p><p>  PrintWriter out = response.getWriter();</p>

117、<p>  ArticleForm articleForm = new ArticleForm();</p><p>  articleForm.setId(Integer.valueOf(request.getParameter("id")));</p><p>  articleDao = new ArticleDao();</p>&l

118、t;p>  if (articleDao.operationArticle("刪除", articleForm)) {</p><p>  out.print("<script language=javascript>alert('刪除文章成功,請重新查詢!');</p><p>  window.location.href=

119、'back_ArticleSelect.jsp';</script>");</p><p><b>  } else {</b></p><p>  out.print("<script language=javascript>alert('刪除文章失?。?#39;);history.go(-1);&

120、lt;/script>");</p><p><b>  }</b></p><p><b>  }</b></p><p>  修改文章,主要代碼如下:</p><p>  public void updateArticle(HttpServletRequest request,&

121、lt;/p><p>  HttpServletResponse response) throws ServletException, IOException {</p><p>  response.setContentType("text/html;charset=GBK");</p><p>  PrintWriter out = respons

122、e.getWriter();</p><p>  ArticleForm articleForm = new ArticleForm();</p><p>  articleForm.setId(Integer.valueOf(request.getParameter("id")));</p><p>  articleForm.setTypeI

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論