版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、目目 錄錄 緒 論.1 第 1 章 專題論壇系統(tǒng)開發(fā)背景及意義.2 1.1 系統(tǒng)開發(fā)背景 .2 1.2 系統(tǒng)開發(fā)意義 .3 第 2 章 專題論壇系統(tǒng)需求分析.4 2.1 現(xiàn)狀分析 .4 2.2 可行性分析 .4 2.2.1 經(jīng)濟(jì)可行性.4 2.2.2 技術(shù)可行性.4 2.3 設(shè)計目標(biāo) .5 2.4 功能要求 .5 2.5 平臺選擇 .5 2.6 系統(tǒng)開發(fā)工具 .6 2.6.1 開發(fā)語言JSP(Java Server Page).6 2.6.2 數(shù)據(jù)庫MySQL5.0.7 第 3 章 專題論壇系統(tǒng)設(shè)計.8 3.1 數(shù)據(jù)庫設(shè)計 .8 3.1.1 數(shù)據(jù)庫需求分析.8 3.1.2 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計.
2、10 3.1.3 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計.11 3.2 系統(tǒng)結(jié)構(gòu)設(shè)計 .15 3.2.1 頁面模塊化設(shè)計.15 3.2.2 MVC 模式設(shè)計(Jsp+Servlet+JavaBean).17 第 4 章 專題論壇系統(tǒng)實現(xiàn).18 4.1 系統(tǒng)各部分的實現(xiàn)方法 .18 4.1.1 創(chuàng)建與數(shù)據(jù)庫的連接.18 4.1.2 訪問數(shù)據(jù)庫的 JavaBean .19 4.1.3 用戶及管理員登錄模塊頁面.20 4.1.4 系統(tǒng)首頁模塊頁面.22 4.1.5 會員注冊模塊的實現(xiàn)頁面.24 第 5 章 系統(tǒng)測試與評價分析.26 5.1 測試環(huán)境簡介 .26 5.2 系統(tǒng)各模塊的測試 .26 5.2.1 管理界面測試
3、.26 5.2.2 其它管理模塊測試.26 5.3 系統(tǒng)的評價分析 .27 5.4 系統(tǒng)的不足與展望 .27 結(jié)束語.28 致 謝.29 參考文獻(xiàn).30 緒 論 自我國正式進(jìn)入互聯(lián)網(wǎng)時代以來,短短的幾年時光互聯(lián)網(wǎng)在我國得到了飛 速的發(fā)展。目前它已經(jīng)成為全球性信息傳輸?shù)闹匾緩街?,并被喻為信息?速公路。這不僅表現(xiàn)在互聯(lián)網(wǎng)的基礎(chǔ)設(shè)施方面,也表現(xiàn)在互聯(lián)網(wǎng)的用戶人數(shù)、 互聯(lián)網(wǎng)在各行各業(yè)的廣泛應(yīng)用等各個方面。 現(xiàn)實生活中的交流存在時間和空間上的局限性,交流人群范圍狹小以及間 斷的交流不能保證信息的準(zhǔn)確性和可取性。 因此伴隨著網(wǎng)絡(luò)的普及,論壇逐漸融入人們的生活。人們只需通過網(wǎng)上論 壇的交流擴(kuò)大交流面,
4、同時可以從多方面獲得自己所需要的最及時的信息。快 速及時的進(jìn)行交流現(xiàn)已成為人們生活中的一部分。五彩繽紛的網(wǎng)上信息,使網(wǎng) 絡(luò)與人們的生活息息相關(guān),于是出現(xiàn)了專題論壇。它打破了地域限制,真正使 信息得以全部共享,改變了人們的工作和生活方式。 專題論壇是區(qū)域內(nèi)個人和個人的宣傳自己的重要手段,同時人們了解當(dāng)代 社會的一種現(xiàn)狀,也是了解信息的重要手段。 專題論壇系統(tǒng)是基于 B/S 模式上的一種交互性極強(qiáng)的電子信息服務(wù)系統(tǒng)。 它為網(wǎng)民提供一塊公共的交流平臺,每個用戶都可以在上面發(fā)布自己的觀點和 不同的意見,以便與其他用戶進(jìn)行交流和討論。 第 1 章 專題論壇系統(tǒng)開發(fā)背景及意義 1.1 系統(tǒng)開發(fā)背景 論壇又
5、名網(wǎng)絡(luò)論壇 BBS,全稱為 Bulletin Board System(電子公告板)或 者 Bulletin Board Service(公告板服務(wù))。是 Internet 上的一種電子信息 服務(wù)系統(tǒng)。它提供一塊公共電子白板,每個用戶都可以在上面書寫,可發(fā)布信 息或提出看法。它是一種交互性強(qiáng),內(nèi)容豐富而即使的 Internet 電子信息服務(wù) 系統(tǒng)。用戶在專題論壇上可以獲得各種信息服務(wù),發(fā)布信息,進(jìn)行討論,聊天 等等。 論壇的發(fā)展也如同網(wǎng)絡(luò),雨后春筍般的出現(xiàn),并迅速的發(fā)展壯大。現(xiàn)在的 論壇幾乎涵蓋了我們生活的各個方面,幾乎每一個人都可以找到自己感興趣或 者需要了解的專題性論壇,而各類網(wǎng)站,綜合性
6、門戶網(wǎng)站或者功能性專題網(wǎng)站 也都青睞于開設(shè)自己的論壇,以促進(jìn)網(wǎng)友之間的交流,增加互動性和豐富網(wǎng)站 的內(nèi)容。而專題論壇只是其中的一類。 此類論壇是相對于綜合類論壇而言,專題類的論壇,能夠吸引真正志同道 合的人一起來交流探討,有利于信息的分類整合和搜集,專題性論壇對學(xué)術(shù)科 研教學(xué)都起到重要的作用,例如軍事類論壇,情感傾訴類論壇,電腦愛好者論 壇,動漫論壇,這樣的專題性論壇能夠在單獨(dú)的一個領(lǐng)域里進(jìn)行版塊的劃分設(shè) 置。 在本文中,主要介紹使用 JSP 和 Servlet 技術(shù)來實現(xiàn)論壇建設(shè)。通過基于 Internet 互聯(lián)網(wǎng)的動態(tài) WEB 數(shù)據(jù)庫技術(shù),可以解決遠(yuǎn)程的數(shù)據(jù)傳輸與讀取,遠(yuǎn) 程的客戶終端(C
7、lient)可以通過 WEB 頁面提交請求,查詢遠(yuǎn)端的數(shù)據(jù)服務(wù)器 上的信息,同時還可以向遠(yuǎn)端數(shù)據(jù)服務(wù)器的數(shù)據(jù)庫中存儲信息,以實現(xiàn)信息的共 享,同時利用 Internet 技術(shù)可以降低軟件的開發(fā)和部署成本,只要在服務(wù)器端 安裝 WEB 應(yīng)用就可以使每個客戶端都能瀏覽使用。 目前,通過專題論壇系統(tǒng)可隨時取得各種自己需要最新的信息;也可以通 過專題論壇系統(tǒng)來和別人討論計算機(jī)軟件、硬件、Internet、多媒體、程序設(shè) 計以及人文、地理等等各種有趣的話題;還可以利用本系統(tǒng)來發(fā)布一些“問題” 、 “廉價轉(zhuǎn)讓” 、 “招聘人才”及“求職應(yīng)聘”等啟事;更可以召集親朋好友到聊 天室 內(nèi)高談闊論這個精彩的天地就
8、在你我的身旁,只要您擁有一臺可以訪 問互聯(lián)網(wǎng)的計算機(jī),就可以通過這個交流平臺,來享用它的種種服務(wù)。 1.2 系統(tǒng)開發(fā)意義 當(dāng)今網(wǎng)絡(luò)技術(shù)逐漸滲入社會生活各個層面,以前網(wǎng)站上的專題論壇管理系 統(tǒng)要用戶登陸以后才能進(jìn)行相關(guān)訪問及互動。而隨著網(wǎng)絡(luò)互聯(lián)技術(shù)的進(jìn)步,現(xiàn) 在網(wǎng)站投票只需打開網(wǎng)頁就可進(jìn)行論壇留言。專題論壇對象是很多的,各個層 次都可進(jìn)行論壇訪問,大至國家領(lǐng)導(dǎo),小至一個普通干部,訪問和留言從到指 定用戶進(jìn)行表格到現(xiàn)在通過網(wǎng)絡(luò)直接點擊相應(yīng)就可進(jìn)行。專題論壇管理系統(tǒng)可 解決游客訪問及留言,致使現(xiàn)在幾乎各個網(wǎng)站都有各種類型的專題論壇管理系 統(tǒng),用戶可選擇自己的看法。同時為分散于五湖四海的人們提供一個共
9、同交流、 學(xué)習(xí)、傾吐心聲的平臺,實現(xiàn)來自不同地方的用戶極強(qiáng)的信息互動性,用戶在 獲得自己所需要的信息的同時也可以廣交朋友,拓寬自己的視野和社交面。 通過網(wǎng)友的發(fā)帖中,能得到有益的教誨和啟發(fā)。網(wǎng)友通過發(fā)出關(guān)于國家, 社會的有益的觀點,能被有關(guān)部門采納,而不是網(wǎng)友空自評論,自艾自嘆,自 喜自悲。一些論點能做到各方觀點正確公平的顯示,具有參考價值。專題論壇 應(yīng)具有知識性,趣味性,公平性,和諧性等優(yōu)點。專題論壇給天下的網(wǎng)民都提 供了交流的平臺,為網(wǎng)絡(luò)的互動性作出了巨大的貢獻(xiàn),通過專題論壇,網(wǎng)民們 得以更方便的交流,更便捷的發(fā)表自己的觀點,而且發(fā)布信息都是通過有記錄 的文字來進(jìn)行,所以這樣也避免了精華內(nèi)
10、容的流失。通過專題論壇來征得自己 想要的信息,有更高的效率和時效性。也最節(jié)約成本和資源,在專題論壇的交 流過程中,無論喜怒哀樂都是在虛擬的環(huán)境中進(jìn)行,也避免的正面的尷尬和沖 突等,在專題論壇中,可以演變成任何角色,變換多種身份,因為網(wǎng)絡(luò)的特征, 使得人民更加依賴于論壇中的交流。 包含資料:源程序+論文(15000 字以上)+可執(zhí)行程序+答辯稿 ppt+開題報告 若有需要或做畢業(yè)設(shè)計的請聯(lián)系 QQ: Email: 第 2 章 專題論壇系統(tǒng)需求分析 2.1 現(xiàn)狀分析 隨著全球英特網(wǎng)用戶逐年增多,在中國,據(jù)中國互聯(lián)網(wǎng)信息中心(CNNIC) 最新的調(diào)查報告顯示,截止 2003 年 6 月底,上網(wǎng)用戶已
11、達(dá)到 6800 萬,比去年 同期增長 48.5,而 1997 年 10 月首次調(diào)查結(jié)果只有 62 萬,幾年間增長了 109.7 倍。 上面數(shù)據(jù)可以看出當(dāng)今社會網(wǎng)絡(luò)迅速普及,人們交流的方式也層出不窮, 隨著新時代的進(jìn)入。人們對信息的需求也不斷加大,對不同領(lǐng)域的討論也越來 越多了,因此開發(fā)一個專題論壇對人們的交流是非常有必要的。 2.2 可行性分析 可行性分析也稱為可行性研究,即是在系統(tǒng)調(diào)查的基礎(chǔ)上,針對新系統(tǒng)的 開發(fā)是否具備必要性和可能性,對新系統(tǒng)的開發(fā)從技術(shù)、經(jīng)濟(jì)、管理的方面進(jìn) 行分析和研究,以避免投資失誤,保證新系統(tǒng)的開發(fā)成功??尚行匝芯康哪康?就是用最小的代價在盡可能短的時間內(nèi)確定問題是否
12、能夠解決。該系統(tǒng)的可行 性分析包括以下幾個方面的內(nèi)容。 2.2.1 經(jīng)濟(jì)可行性 主要是對項目的經(jīng)濟(jì)效益進(jìn)行評價,利用計算機(jī)來實現(xiàn)網(wǎng)上交流信息。開 發(fā)一套能滿足網(wǎng)上信息交流的軟件是十分必要的,實現(xiàn)用戶發(fā)帖,回帖等功能, 能發(fā)表自己的觀點。本系統(tǒng)在經(jīng)濟(jì)上是完全可以接受的,只需要用戶在本地安 裝 Web 瀏覽器,登錄論壇就可以瀏覽帖子并發(fā)表自己的意見。所以本系統(tǒng)在經(jīng) 濟(jì)上是可行的。 2.2.2 技術(shù)可行性 技術(shù)上的可行性分析主要分析技術(shù)條件是否能順利完成開發(fā)工作,硬、軟 件能否滿足開發(fā)者的需要等。 軟件方面,系統(tǒng)開發(fā)需要的各種軟件環(huán)境都已具備,數(shù)據(jù)庫服務(wù)器方面則 有 MySQL,均能夠處理大量數(shù)據(jù),
13、同時保持?jǐn)?shù)據(jù)的完整性并提供許多高級管理 功能。其靈活性、安全性和易用性為數(shù)據(jù)庫編程提供了良好的條件。因此,系 統(tǒng)的軟件開發(fā)平臺已成熟可行。 硬件方面,科技飛速發(fā)展的今天,硬件更新的速度越來越快,容量越來越 大,可靠性越來越高,價格越來越低,其硬件平臺完全能滿足此系統(tǒng)的需要。 2.3 設(shè)計目標(biāo) 專題論壇系統(tǒng)的總體目標(biāo): 1.游客可以查看帖子,并可以留言,給本論壇提供一些建議。以便該論壇 能做的更加的完美。 2.注冊會員可以發(fā)表自己的帖子、回復(fù)帖子、修改個人信息等。 3.版主具有注冊用戶的所以功能,而且可以管理帖子。 4.管理員具有最大權(quán)限,可以執(zhí)行任何操作。比如增加、修改、刪除板塊; 刪除會員;
14、管理版主等功能。 2.4 功能要求 本系統(tǒng)根據(jù)論壇系統(tǒng)的需要,以實現(xiàn)交流信息的一個平臺。本系統(tǒng)的功能 要求主要包括: 1.身份的安全驗證。主要完成系統(tǒng)登錄用戶的驗證,對于非法用戶將禁止 登錄,不同身份的用戶被賦予不同的權(quán)限。 2.游客:瀏覽帖子,留言。 3.注冊會員:發(fā)表、修改帖子;回復(fù)帖子,刪除回復(fù);查看、修改個人信 息,留言 4.版主:發(fā)表、修改、刪除帖子;回復(fù)帖子,刪除回復(fù);查看、修改個人 信息,留言 5管理員:刪除、修改用戶信息、將會員設(shè)為版主或撤銷版主;添加板塊、 修改板塊、刪除板塊;發(fā)布公告、修改公告、刪除公告;查看留言、刪除留言。 2.5 平臺選擇 選擇微軟平臺作為主導(dǎo),一方面考
15、慮目前微軟的飛速發(fā)展,越來越多的企 業(yè)在規(guī)劃內(nèi)部網(wǎng)絡(luò)時,將微軟平臺作為首選方案;另一方面從技術(shù)角度來講, 微軟平臺上的應(yīng)用無論是在開發(fā)上,還是在軟件的部署上都是非常容易,而且 性能優(yōu)越。具體如下: 1. 開發(fā)工具:MyEclipse 8.5 2. 輔助開發(fā)工具: Dreamweaver 8,EditPlus 3, Adobe Photoshop CS4 3. 數(shù)據(jù)庫:MySQL5.0 4. 服務(wù)器 :Apache Tomcat6.0 5. 運(yùn)行環(huán)境 :安裝 JDK1.6 支持 Java 運(yùn)行。 6. 技術(shù):前臺網(wǎng)頁的設(shè)計采用 JSP 技術(shù)制作。負(fù)責(zé)響應(yīng)用戶對業(yè)務(wù)邏輯 的請求并根據(jù)用戶的請求行為
16、,決定將哪個 JSP 頁面發(fā)送給客戶由 servlet 處理,JavaBean 則負(fù)責(zé)數(shù)據(jù)的處理。 2.6 系統(tǒng)開發(fā)工具 本系統(tǒng)是基于 JSP+MySQL5.0 數(shù)據(jù)庫技術(shù)實現(xiàn)的,現(xiàn)對 JSP 技術(shù)和 MySQL5.0 數(shù)據(jù)庫作簡要的介紹。 2.6.1 開發(fā)語言JSP(Java Server Page) JSP 頁面由 HTML 代碼和嵌入其中的 Java 代碼所組成。Java Servlet 是 JSP 的技術(shù)基礎(chǔ),而且大型的 Web 應(yīng)用程序的開發(fā)需要 Java Servlet 和 JSP 配 合才能完成。JSP 具備了 Java 技術(shù)的簡單易用,完全的面向?qū)ο?,具有平臺無 關(guān)性且安全可靠
17、,主要面向因特網(wǎng)的等特點。JSP 的技術(shù)的優(yōu)勢: 1一次編寫,到處運(yùn)行。在這一點上 Java 比 PHP 更出色,除了系統(tǒng)之外, 代碼不需要做任何更改。 2系統(tǒng)的多平臺支持?;旧峡梢栽谒衅脚_上的任意環(huán)境中開發(fā),在任 意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。相比 ASP/PHP 的局限性是顯而易 見的。 3JSP 技術(shù)是用 Java 語言作為腳本語言的。Java 語言是成熟的、強(qiáng)大的、 易擴(kuò)充的編程語言。 4高效性與安全性。JSP 在執(zhí)行前先被編譯成字節(jié)碼,字節(jié)碼由 Java 虛 擬機(jī)解釋執(zhí)行,比源碼解釋效率高。 5可維護(hù)性。由于 JSP 技術(shù)是一種開放的、跨平臺的結(jié)構(gòu),因此 Web 服務(wù)
18、器、平臺及其他組件能很容易升級或切換,且不會影響 JSP 基本的應(yīng)用程序。 6多樣化和功能強(qiáng)大的開發(fā)工具支持。Java 已經(jīng)有了許多非常優(yōu)秀的開 發(fā)工具,而且許多可以免費(fèi)得到,并且其中許多已經(jīng)可以順利的運(yùn)行于多種平 臺之下。 2.6.2 數(shù)據(jù)庫MySQL5.0 MySQL 是一個精巧的 SQL 數(shù)據(jù)庫管理系統(tǒng),雖然它不是開放源代碼的產(chǎn)品, 但在某些情況下你可以自由使用。由于它的強(qiáng)大功能、靈活性、豐富的應(yīng)用編 程接口(API)以及精巧的系統(tǒng)結(jié)構(gòu),受到了廣大自由軟件愛好者甚至是商業(yè)軟 件用戶的青睞,特別是與 Apache 和 PHP/PERL 結(jié)合,為建立基于數(shù)據(jù)庫的動態(tài) 網(wǎng)站提供了強(qiáng)大動力。 S
19、QL 是一種標(biāo)準(zhǔn)化的語言,它使得存儲、更新和存取信息更容易。例如, 你能用 SQL 語言為一個網(wǎng)站檢索產(chǎn)品信息及存儲顧客信息,同時 MySQL 也足夠 快和靈活以允許你存儲記錄文件和圖像。 包含資料:源程序+論文(15000 字以上)+可執(zhí)行程序+答辯稿 ppt+開題報告 若有需要或做畢業(yè)設(shè)計的請聯(lián)系 QQ: Email: 第 3 章 專題論壇系統(tǒng)設(shè)計 3.1 數(shù)據(jù)庫設(shè)計 在對系統(tǒng)數(shù)據(jù)庫進(jìn)行設(shè)計的過程中,通過對系統(tǒng)功能進(jìn)行需求分析得到系 統(tǒng)的基本信息表,繪制系統(tǒng)業(yè)務(wù)流程圖和系統(tǒng)數(shù)據(jù)流程圖,分析得到數(shù)據(jù)字典; 在概率結(jié)構(gòu)設(shè)計階段通過對需求階段得到的用戶需求抽象得到數(shù)據(jù)庫關(guān)系模型 的 E-R 圖;
20、在邏輯結(jié)構(gòu)設(shè)計階段得到數(shù)據(jù)庫的關(guān)系模式并繪制信息表。 3.1.1 數(shù)據(jù)庫需求分析 需求分析是設(shè)計數(shù)據(jù)庫的起點,需求分析的結(jié)果是否準(zhǔn)確地反映了用戶的 實際要求,將直接影響到后面各個階段的設(shè)計,并影響到設(shè)計結(jié)果是否合理和 實用。 系統(tǒng)基本信息 綜合以上分析,要實現(xiàn)上面的所有功能模塊,數(shù)據(jù)庫共要設(shè)計八個表,它 們分別是: 1. 用戶表(user):用戶 ID、用戶名、密碼、性別、Email、QQ、類型、發(fā) 帖數(shù)、頭像地址、注冊日期、積分 2. 版主(master):版主 ID、板塊 ID 3. 管理員表(admin):管理員 ID、管理員姓名、管理員密碼 4. 板塊表(plate):
21、板塊 ID、板塊名稱、帖子數(shù)、板塊簡介、創(chuàng)建日期 5. 帖子表(posts):帖子 ID、帖子標(biāo)題、帖子內(nèi)容、發(fā)表日期、發(fā)表者、 所在版塊 ID、回復(fù)數(shù)、點擊數(shù) 6. 回復(fù)內(nèi)容表(reply):回復(fù) ID、回復(fù)者、回復(fù)帖子 ID、回復(fù)時間、 回復(fù)內(nèi)容 7. 公告表(notice):公告 ID、公告標(biāo)題、公告內(nèi)容、發(fā)布時間 8. 留言信息表(message):留言 ID、留言標(biāo)題、留言內(nèi)容、留言時間 系統(tǒng)層次圖 通過參考網(wǎng)上比較出名的論壇和查詢相應(yīng)的資料,大體了解了論壇系統(tǒng)的 基本流程,因此設(shè)計了前臺和后臺兩個模塊的層次流程圖。 前臺層次圖如圖 3-1 所示: 圖 3-1 前臺層
22、次圖 后臺層次圖如圖 3-2 所示: 圖 3-2 后臺層次圖 3.1.2 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計 概念設(shè)計階段主要是將需求分析階段得到的用戶需求抽象為信息結(jié)構(gòu)(概 念模型)的過程,它是整個數(shù)據(jù)庫設(shè)計的關(guān)鍵,包括概念模型設(shè)計和新系統(tǒng)流 程兩個階段。在需求分析階段所得到的應(yīng)用需求應(yīng)該首先抽象為信息世界的結(jié) 構(gòu),才能更好地、更準(zhǔn)確地用某一 DBMS 實現(xiàn)這些需求。 概念數(shù)據(jù)模型獨(dú)立于具體的數(shù)據(jù)處理的細(xì)節(jié)和數(shù)據(jù)庫管理系統(tǒng)。這次設(shè)計 仍采用傳統(tǒng)的實體聯(lián)系圖作為概念設(shè)計的工具。再進(jìn)行優(yōu)化后,盡量滿足結(jié)構(gòu) 清晰、關(guān)聯(lián)簡潔、實體個數(shù)適中、屬性分配合理、沒有低級冗余。 系統(tǒng) E-R 圖如圖 3-3 所示: 圖 3-
23、3 系統(tǒng) E-R 圖 3.1.3 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計 對于關(guān)系型數(shù)據(jù)庫,數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計完畢后,要把 E-R 圖描述的概 念數(shù)據(jù)模型轉(zhuǎn)換為等價的關(guān)系模式極其約束。邏輯設(shè)計的基本工作主要包括如 下的 3 個步驟。 專題論壇系統(tǒng)數(shù)據(jù)流設(shè)計模式 該設(shè)計以概念結(jié)構(gòu)設(shè)計中的 E-R 圖為主要依據(jù),這幾出相關(guān)的整體邏輯結(jié) 構(gòu)。 系統(tǒng)數(shù)據(jù)流設(shè)計如圖 3-4 所示: 圖 3-4 系統(tǒng)數(shù)據(jù)流設(shè)計圖 完整性設(shè)計 完整性要求用于描述各種信息之間的制約關(guān)系,以及關(guān)聯(lián)關(guān)系,各個數(shù)據(jù) 項的取值范圍以及各個數(shù)據(jù)項是否可以取值。根據(jù)實際需要,采取一定的手段 來滿足用戶的完整性需求。域完整性
24、約束要求屬性值必須在域中。實體完整性 約束要求主鍵必須唯一且不能為空。如用戶信息表中的用戶名設(shè)置為主鍵,并 且要求唯一且不能為空。 模式優(yōu)化 本次采用 3NF 為規(guī)范準(zhǔn)則來分解關(guān)系。將一個關(guān)系分解為兩個或者多個關(guān) 系,以滿足規(guī)范,從而避免產(chǎn)生插入異常、刪除異常、更新異常。 3.1.4 數(shù)據(jù)庫表設(shè)計 用戶表如表 3-1 所示: 表 3-1 用戶信息表(user) 字段名類型(值)說明 UserID(主鍵)Int(10)用戶 ID UserNameVarchar(20)用戶名 UserPasswordVarchar(20)用戶密碼 UserSexVarchar(4)用戶性別 Ema
25、ilVarchar(50)用戶 Email Regdatedate注冊日期 PrivilegeInt(10) 用戶類型 0:普通用戶;1:版主 QQVarchar(10)QQ ImageAddrVarchar(20)頭像地址 UserPostsCountInt(255)用戶發(fā)帖數(shù) Integral Int(255)積分 板塊表如表 3-2 所示: 表 3-2 板塊信息表(plate) 字段名類型(值)說明 PlateID(主鍵)Int(10)板塊 ID PlateNameVarchar(20)板塊名字 PlateDescribeVarchar(128)板塊簡介 PlateDatedate創(chuàng)建日
26、期 PostsCountInt(255)帖子條數(shù) 帖子信息表如表 3-3 所示: 表 3-3 帖子信息表(posts) 字段名類型(值)說明 postsID(主鍵)Int(10)帖子 ID TitleVarchar(128)帖子標(biāo)題 ContentVarchar(10000)帖子內(nèi)容 PostsDatedatetime發(fā)表日期 UserNameVarchar(20)發(fā)表者 PlateIDInt(10)所在板塊 ID ClickInt(255)點擊次數(shù) ReplyCountInt(255)回復(fù)次數(shù) 回復(fù)信息表如表 3-4 所示: 表 3-4 回復(fù)信息表(reply) 字段名類型(值)說明 Rep
27、lyID(主鍵)Int(10)ID ReplyContentVarchar(5000)回復(fù)內(nèi)容 PostsIDInt(10)回復(fù)帖子 ID UserNameVarchar(20)回復(fù)人 ReplyTimeDatetime回復(fù)時間 版主表如表 3-5 所示: 表 3-5 版主表(master) 字段名類型(值)說明 userIDInt(10)版主 ID(用戶 ID) PlateIDInt(10)板塊 ID 公告信息表如表 3-6 所示: 表 3-6 公告信息表(notice) 字段名類型(值)說明 NoticeID(主鍵)Int(10)公告 ID NoticeContentVarchar(500
28、0)公告內(nèi)容 NoticeTimedatetime發(fā)表日期 NoticeTitleVarchar(128)公告標(biāo)題 管理員信息表如表 3-7 所示: 表 3-7 管理員信息表(admin) 字段名類型(值)說明 ID(主鍵)Int(10)管理員 ID AdminNameVarchar(20)管理員名字 AdminPasswordVarchar(20)管理員密碼 留言信息表如表 3-8 所示: 表 3-8 留言信息表(message) 字段名類型(值)說明 MessageID(主鍵)Int(10)留言 ID MessageTitleVarchar(128)留言標(biāo)題 MessageContentV
29、archar(5000)留言內(nèi)容 MessageTimeDatetime發(fā)布時間 3.2 系統(tǒng)結(jié)構(gòu)設(shè)計 3.2.1 頁面模塊化設(shè)計 模塊化設(shè)計的要求不僅是為了提高代碼的重用性,更重要的是為了提高代 碼的可維護(hù)性和穩(wěn)定性。一個模塊化程度高、結(jié)構(gòu)清晰的應(yīng)用程序,在程序維 護(hù)時的便利性是可想而知的。最初設(shè)計方案時,就要規(guī)劃好哪些模塊是可以提 出來多次使用,哪些模塊雖只使用一次,但提出來之后能使代碼更清晰等。 所以把頁面中一些常用代碼編寫為獨(dú)立的單元,例如頁面的頭部和尾部、 首頁各個顯示區(qū),這樣設(shè)計新的頁面時如果有重復(fù)出現(xiàn)的部分,只需要將編寫 好的模塊用 INCLUDE 語句來組裝就可以了。 專題論壇
30、系統(tǒng)功能模塊有以下幾部分組成: (一)用戶注冊 新用戶注冊,填寫用戶信息,檢驗用戶信息的有效性,并將用戶信息持久 化。 (二)用戶登陸 提供用戶憑證,驗證用戶信息是否合法,根據(jù)用戶角色授權(quán)。 (三)用戶管理 管理員由系統(tǒng)初始化分配一個,管理員可以對用戶信息進(jìn)行部分更改,主 要包括用戶角色調(diào)整,版主調(diào)整,刪除用戶等。 (四)論壇版塊管理 管理員可以添加、刪除、修改論壇版塊。 (五)帖子管理 管理員可以對所有帖子進(jìn)行修改、刪除等操作,版主可以對本版塊帖子進(jìn) 行修改、刪除等操作。 (六)帖子發(fā)表 注冊用戶可以在感興趣的版塊中發(fā)表新帖。 (七)帖子回復(fù) 用戶可以對自己感興趣的主題發(fā)表回復(fù)。 (八)帖子
31、瀏覽 用戶可以瀏覽所有帖子。 (九)意見建議 用戶可以與我們聯(lián)系,并歡迎提出各種意見和建議 3.2.2 MVC 模式設(shè)計(Jsp+Servlet+JavaBean) MVC(Model View Controller)是一個設(shè)計模式,它強(qiáng)制性的使應(yīng)用程序 的輸入、處理和輸出分開。使用 MVC 應(yīng)用程序被分成三個核心部件:模型、視 圖、控制器。它們各自處理自己的任務(wù)。 視圖是用戶看到并與之交互的界面。如何處理應(yīng)用程序的界面變得越來越 有挑戰(zhàn)性。MVC 一個大的好處是它能為你的應(yīng)用程序處理很多不同的視圖。JSP 頁面處于表現(xiàn)層,也就是視力(View 即 V)的角色。 模型表示企業(yè)數(shù)據(jù)和業(yè)務(wù)規(guī)則。在
32、 MVC 的三個部件中,模型擁有最多的處 理任務(wù)。由于應(yīng)用于模型的代碼只需寫一次就可以被多個視圖重用,所以減少 了代碼的重復(fù)性。JavaBean 則負(fù)責(zé)數(shù)據(jù)的處理,也就是模型(Model 即 M)的 角色。 控制器接受用戶的輸入并調(diào)用模型和視圖去完成用戶的需求。所以當(dāng)單擊 Web 頁面中的超鏈接和發(fā)送 HTML 表單時,控制器本身不輸出任何東西和做任何 處理。它只是接收請求并決定調(diào)用哪個模型構(gòu)件去處理請求,然后用確定用哪 個視圖來顯示模型處理返回的數(shù)據(jù)。Servlet 用來處理請求的事務(wù),充當(dāng)控制 器(Controller 即 C)的角色,Servlet 負(fù)責(zé)響應(yīng)用戶對業(yè)務(wù)邏輯的請求并根 據(jù)用
33、戶的請求行為,決定將哪個 JSP 頁面發(fā)送給客戶。 初始的請求由 Servlet 來處理,Servlet 調(diào)用商業(yè)邏輯和數(shù)據(jù)處理代碼, 并創(chuàng)建 Bean 來表示相應(yīng)的結(jié)果(模型) 。然后 Servlet 確定哪個頁面適合于表 達(dá)這些特定的結(jié)果,并將請求轉(zhuǎn)發(fā)到相應(yīng)的頁面(JSP 頁面即為視圖) ,由 Servlet 確定哪個業(yè)務(wù)邏輯適用,應(yīng)該用哪個 JSP 頁面相應(yīng)結(jié)果(Servlet 就是 控制器) 。 包含資料:源程序+論文(15000 字以上)+可執(zhí)行程序+答辯稿 ppt+開題報告 若有需要或做畢業(yè)設(shè)計的請聯(lián)系 QQ: Email: 第第 4 章章 專題論壇系統(tǒng)實現(xiàn)專題論壇系統(tǒng)實現(xiàn) 4.1
34、 系統(tǒng)各部分的實現(xiàn)方法 從系統(tǒng)功能模塊劃分中可以看出,系統(tǒng)總體上有九個功能模塊組成。各模 塊雖然是獨(dú)立的,但又統(tǒng)一于同一數(shù)據(jù)庫中,便于管理員管理維護(hù)數(shù)據(jù)庫,同 時也便于管理員和用戶的操作。在介紹系統(tǒng)各模塊的實現(xiàn)方法之前,首先介紹 系統(tǒng)與數(shù)據(jù)庫的連接方式使用 JavaBean 連接連接在服務(wù)器 tomcat 里配置 的連接池。再介紹系統(tǒng)主要部分的實現(xiàn)方法。 4.1.1 創(chuàng)建與數(shù)據(jù)庫的連接 配置數(shù)據(jù)源創(chuàng)建連接池,再通過 JavaBean 連接到數(shù)據(jù)源再對數(shù)據(jù)庫進(jìn)行操 作。 連接池是創(chuàng)建和管理一個連接的緩沖池的技術(shù),這些連接準(zhǔn)備好被任何需 要它們的線程使用。連接池可以極大的改善用戶的 Java 應(yīng)用
35、程序的性能,同 時減少全部資源的使用。連接池主要的優(yōu)點有:減少連接創(chuàng)建時間、簡化的編 程模式、受控的資源使用。連接池能夠使性能最大化,同時還能將資源利用控 制在一定的水平之下,不過如果超過該水平,應(yīng)用程序?qū)⒈罎⒍粌H僅是變慢。 配置連接池: 1首先要將 mysql 的驅(qū)動包放在 tomcat/lib 目錄下 2在應(yīng)用服務(wù)器 Tomcat 里的/conf 下找到一個 context.xml 文件,在里 面添加的內(nèi)容如下: 需要訪問數(shù)據(jù)庫就通過在 JavaBean 創(chuàng)建的一個叫 QueryRunner()方法來 訪問。 代碼如下: public class DbHelper public stat
36、ic QueryRunner getQueryRunner() DataSource ds = null; try /通過在context.xml文件,設(shè)定的數(shù)據(jù)源對象的名字,獲取數(shù)據(jù) 源對象 Context context = new InitialContext(); ds = (DataSource) context.lookup(java:/comp/env/jdbc/mysqlds); catch (Exception e) System.out.println(獲取數(shù)據(jù)源時出錯); QueryRunner qr = new QueryRunner(ds); return qr; 4
37、.1.2 訪問數(shù)據(jù)庫的 JavaBean JavaBean 是一種 Java 語言寫成的可重用組件。為寫成 JavaBean,類必須是 具體的和公共的,并且具有無參數(shù)的構(gòu)造器。JavaBean 通過提供符合一致性設(shè) 計模式的公共方法將內(nèi)部域暴露成為屬性。眾所周知,屬性名稱符合這種模式, 其他 Java 類可以通過自省機(jī)制發(fā)現(xiàn)和操作這些 JavaBean 屬性。 用戶可以使用 JavaBean 將功能、處理、值、數(shù)據(jù)庫訪問和其他任何可以用 Java 代碼創(chuàng)造的對象進(jìn)行打包,并且其他的開發(fā)者可以通過內(nèi)部的 JSP 頁面、 Servlet、其他 JavaBean、Applet 程序或應(yīng)用來使用這些對
38、象。用戶可以認(rèn)為 JavaBean 提供了一種隨時隨地的復(fù)制和粘貼的功能,而不用關(guān)心任何改變。 JSP 的一個重要特性就是可以用 JavaBean 實現(xiàn)功能的擴(kuò)展。將大部分功能 放在 JavaBean 中完成,以使 JSP 頁面程序更干凈簡潔、利于維護(hù)。JavaBean 可以很方便的用來捕獲頁面表單的輸入并完成各種業(yè)務(wù)邏輯的處理。 連接數(shù)據(jù)庫的 JavaBeanDbHelper。通過 JSP 頁面調(diào)用此 JavaBean,可 以實現(xiàn)對數(shù)據(jù)庫的連接,數(shù)據(jù)表的添加、刪除、更新等操作。 4.1.3 用戶及管理員登錄模塊頁面 用戶登錄頁面比較簡單,因為用戶不登錄就可以瀏覽帖子,所以登錄的功 能就直接增
39、加到了頭文件里,用戶沒有登錄時,此模塊將一直顯示。如果登錄 后則將不顯示。 用戶登錄如圖 4-1 所示: 圖 4-1 用戶登錄 用戶登錄后如圖 4-2 所示: 圖 4-2 用戶登錄后 管理員登錄界面如圖 4-3 所示: 圖 4-3 管理員登錄界面 在登錄頁面時,當(dāng)用戶提交了登錄資料后,就由“UsersServlet.java”這 個 servlet 進(jìn)行驗證,它的工作主要是判斷用戶登錄的帳號和密碼是否一致。 完成這些工作就必須連接存儲用戶數(shù)據(jù)庫取出相關(guān)信息記錄。如果用戶輸入了 錯誤的用戶名和密碼,通過 history.go(-1);返回到登錄界面并提示出錯,如 圖 4-4 所示: 圖 4-4
40、用戶登錄失敗 若用戶提交正確的用戶和密碼后,如果記錄驗證無誤,就通過 JSP 的 request.getRequestDispatcher()方法跳轉(zhuǎn)到相應(yīng)的界面;然后再判斷是否為 版主,如果是版主則要求顯示出版主相應(yīng)的功能。Java 程序片段如下所示: 歡迎您:游客 歡迎您: 歡迎您版主: 4.1.4 系統(tǒng)首頁模塊頁面 論壇主界面如圖 4-5 圖所示: 圖 4-5 論壇主界面頁面 以下是論壇主界面的部分代碼: % List noticeList = (List)request.getAttribute(notice); for(int i=0;i a href=/BBS/servlet/No
41、ticeServlet?method=notice formReg.UserName.focus(); return false; if(formReg.UserPassword.value.length6) alert(密碼不能為空或小于6位,請輸入!); formReg.UserPassword.focus(); return false; if(formReg.UserPassword2.value != formReg.UserPassword.value) alert(密碼必須和較驗密碼相同,請確認(rèn)!); formReg.UserPassword2.focus(); 修改個人信息界面
42、如圖4-8所示: 圖 4-8 修改個人信息界面 用戶修改個人信息部分代碼: public void ChangeUser(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException HttpSession session = request.getSession(); User user = (User) session.getAttribute(user); String userName = user.getUserName(); String qq = req
43、uest.getParameter(QQ); String email = request.getParameter(Email); String oldUserPassowrd = request.getParameter(OldUserPassowrd); String userPassword = request.getParameter(UserPassword); QueryRunner qr = DbHelper.getQueryRunner(); if(oldUserPassowrd=null | oldUserPassowrd.equals() String sql = UPD
44、ATE user SET Email =?,QQ =? WHERE UserName= + userName; String params = email, qq; try qr.update(sql,params); catch (SQLException e) e.printStackTrace(); response.setContentType(text ml;charset=UTF-8) ; PrintWriter out = response.getWriter(); out.println(); out.println(alert(修改個人信息成功!);); 第5章 系統(tǒng)測試與評
45、價分析 5.1 測試環(huán)境簡介 硬件平臺:Inter(R) Core(TM)2 Duo,內(nèi)存 2GB,硬盤 320GB 軟件平臺:Windows 7 操作系統(tǒng),MysqL 5.0 數(shù)據(jù)庫,IE8.0 瀏覽器, Tomcat 6.0, JSP 開發(fā)的專題論壇系統(tǒng)。 運(yùn)用 Tomcat6.6 來測試運(yùn)行占用的系統(tǒng)資源小,擴(kuò)展性好,支持負(fù)載平衡 與郵件服務(wù)等開發(fā)應(yīng)用系統(tǒng)常用的功能;而且它還在不斷的改進(jìn)和完善中,任 何一個感興趣的程序員都可以更改它或在其中加入新的功能。Tomcat 是一個小 型的輕量級應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普 遍使用,是開發(fā)和調(diào)試 JSP 程序的首選。
46、 5.2 系統(tǒng)各模塊的測試 在該系統(tǒng)中,用戶通過登錄或者不登錄,將進(jìn)入用戶相對應(yīng)的功能。用戶 通過點擊每個模塊所對應(yīng)的標(biāo)簽,便可以進(jìn)行相應(yīng)的操作。在系統(tǒng)實現(xiàn)的過程 中,我對本系統(tǒng)進(jìn)行了大量詳細(xì)和縝密的測試,各項測試結(jié)果都基本符合系統(tǒng) 要求,測試過程如下介紹。 5.2.1 管理界面測試 管理界面中顯示出了各模塊的分部,并且點擊任意一個模塊,其中的所有 功能信息會顯示出來,每一功能信息都鏈接到相關(guān)的首頁中各模塊從各自的數(shù) 據(jù)表中讀取記錄并將其某些字段顯示出來。而且顯示出來的字段是可以分布連 接到一個可以完整顯示該記錄的內(nèi)容字段的頁面,這是最終的目的。系統(tǒng)管理 首頁如圖 4-6 所示。 5.2.2
47、其它管理模塊測試 其他管理模塊的操作基本相同,所以這里只展示了管理員模塊的添加板塊 作。管理員通過登錄系統(tǒng),就可以在這里執(zhí)行管理員的操作。 5.3 系統(tǒng)的評價分析 1實用性 本系統(tǒng)是典型的信息交流系統(tǒng)。當(dāng)信息時代迫切需要快速傳播信息,局部 范圍的信息交流只會減緩信息技術(shù)前進(jìn)的步伐。本系統(tǒng)的意義在于為分散于五 湖四海的人們提供一個共同交流、學(xué)習(xí)、傾吐心聲的平臺,實現(xiàn)來自不同地方 的用戶極強(qiáng)的信息互動性,用戶在獲得自己所需要的信息的同時也可以廣交朋 友,拓寬自己的視野和社交面。 2可維護(hù)性 專題論壇系統(tǒng)的優(yōu)越性體現(xiàn)在:首先,本系統(tǒng)基于 B/S 的開發(fā)模式,開發(fā) 者只需對服務(wù)器上的處理程序進(jìn)行修訂,
48、而客戶端不用做任何改變,就可以照 常使用系統(tǒng);其次,由于 JSP 技術(shù)是一種開放的、跨平臺的結(jié)構(gòu),因此 Web 服 務(wù)器、平臺及其他組件能很容易升級或切換,且不會影響 JSP 基本的應(yīng)用程序。 3可擴(kuò)展性 專題論壇系統(tǒng)是一個不斷擴(kuò)展的系統(tǒng),本系統(tǒng)采用 B/S 模式開發(fā),可以不 改變系統(tǒng)架構(gòu)的基礎(chǔ)上,直接添加模塊,增加系統(tǒng)功能。如果用戶想給本系統(tǒng) 添加更多的模塊可以將其他模塊作為模板,只是稍微改一下數(shù)據(jù)庫的參數(shù)和將 新模塊包含到所需的頁面中,這樣就可以在一定程度上擴(kuò)展系統(tǒng)的功能。 5.4 系統(tǒng)的不足與展望 對于本次做的專題論壇系統(tǒng)有很多不足。首先在于沒有做好友善的界面, 這樣以來用戶操作時間一長就會產(chǎn)生疲倦感,而且網(wǎng)頁的整體美工也不是很好。 它的功能上還有很多不足比如板塊沒有版主時則什么也不顯示,當(dāng)初預(yù)想應(yīng)該 顯示版主空缺中,還有就是會員修改信息成功后,不
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版機(jī)電安裝勞務(wù)分包合同模板范本
- 二零二五年度國有企業(yè)股權(quán)收購與轉(zhuǎn)讓綜合性合同3篇
- 2024版護(hù)欄采購合同協(xié)議書模板
- 2024高端定制櫥柜安裝服務(wù)協(xié)議版
- 2024年版城市綠化項目委托施工合同
- 2025年度砂石料購銷與質(zhì)量保證協(xié)議3篇
- 2024年車輛二手交易協(xié)議范本版
- 2024年高層住宅建筑消防系統(tǒng)安裝協(xié)議一
- 二零二五年度【住宅置換】專業(yè)版二手房出售協(xié)議模板3篇
- 2025年全球及中國大尺寸石英坩堝(≥32英寸)行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2023年工裝行業(yè)分析報告及未來五至十年行業(yè)發(fā)展報告
- 山東省青島市2023-2024學(xué)年高一上學(xué)期1月期末物理試題 含解析
- 中國慢性腰背痛診療指南2024版解讀
- 平山水利樞紐設(shè)計說明書
- 2024年國家開放大學(xué)電大橋梁工程技術(shù)形考任務(wù)一、二、三、四答案
- 2024年小區(qū)地下車位租賃合同
- 2024年陜西省中考語文試卷附答案
- 抖音火花合同電子版獲取教程
- 2024年刑法知識考試題庫附參考答案(典型題)
- 第5課《弘揚(yáng)勞動精神勞模精神工匠精神》第1框《理解勞動精神勞模精神工匠精神》-【中職專用】《職業(yè)道德與法治》同步課堂課件
- 2024年湖南高速鐵路職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫及答案解析
評論
0/150
提交評論