BBS論壇系統(tǒng) 畢業(yè)論文 完整 畢業(yè)設計 定稿

上傳人:小**** 文檔編號:73491014 上傳時間:2022-04-11 格式:DOC 頁數(shù):41 大小:506.50KB
收藏 版權(quán)申訴 舉報 下載
BBS論壇系統(tǒng) 畢業(yè)論文 完整 畢業(yè)設計 定稿_第1頁
第1頁 / 共41頁
BBS論壇系統(tǒng) 畢業(yè)論文 完整 畢業(yè)設計 定稿_第2頁
第2頁 / 共41頁
BBS論壇系統(tǒng) 畢業(yè)論文 完整 畢業(yè)設計 定稿_第3頁
第3頁 / 共41頁

下載文檔到電腦,查找使用更方便

16 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《BBS論壇系統(tǒng) 畢業(yè)論文 完整 畢業(yè)設計 定稿》由會員分享,可在線閱讀,更多相關(guān)《BBS論壇系統(tǒng) 畢業(yè)論文 完整 畢業(yè)設計 定稿(41頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、 畢業(yè)設計說明書 學生姓名 學 號 院 (系) 專 業(yè) 計算機科學與技術(shù) 題 目 BBS論壇系統(tǒng) 指導教師 (姓 名) (專業(yè)技術(shù)職稱/學位) 2009 年 05 月 摘 要:當今社會是一個信息飛速發(fā)達的社會,人們通過互聯(lián)網(wǎng)絡可以進行信息的交流。論壇就是一種在Internet網(wǎng)上開放的信息服務系統(tǒng),通過論壇用戶可以方便的實現(xiàn)信息的交換和文件的共享。本文研究并實現(xiàn)了基于B/S模式的BBS論壇系統(tǒng),該系統(tǒng)采用目前流行的JSP+JavaBean+后臺數(shù)據(jù)庫三

2、層架構(gòu)。 本文從BBS系統(tǒng)的開發(fā)背景、相關(guān)技術(shù)、需求分析、詳細設計、系統(tǒng)測試與維護等方面詳細闡述了整個系統(tǒng)的開發(fā)過程。 關(guān)鍵詞: BBS ,JSP,MYSQL,JavaBeans Abstract:Nowadays is a flourishing society that information travels fast, Through the Internet people can exchange in

3、formation with each other. The forum is a service system that is open on Internet, through which, the forum customer can conveniently realizes the commutation of the information and the share of the documents. This text research and realizes online forum system (BBS) which based on the B/S model, Th

4、e system used the popular Three-tier Model (JSP+JavaBean+Database). The text detailed description of the whole system development, which described from the background of system, related technologies, demand analysis, detailed design, system testing and maintenance. Keywords: BBS,JSP,MYSQL,Ja

5、vaBeans 目錄 1前言 1 1.1 選題背景和意義 1 1.2 系統(tǒng)要解決的問題 1 2 相關(guān)技術(shù)及運行環(huán)境簡介 1 2.1 JSP技術(shù)簡介 1 2.2 JAVABEAN技術(shù)簡介 2 2.3 JDBC技術(shù)簡介 2 2.4 TOMCAT技術(shù)簡介 3 2.5 運行環(huán)境 3 3 需求分析 3 3.1 用戶功能需求 4 3.2 數(shù)據(jù)需求 5 4 系統(tǒng)整體設計 5 4.1 系統(tǒng)模塊結(jié)構(gòu)設計 5 4.2 數(shù)據(jù)

6、庫設計 9 4.2.1 E-R圖分析 9 4.2.1.1 ER模型 9 4.2.1.2 聯(lián)系定義 12 4.2.2 數(shù)據(jù)表設計 13 4.3系統(tǒng)流程圖 15 5 詳細設計 16 5.1 用戶登錄模塊 16 5.2 用戶注冊模塊設計 18 5.3 帖子主題模塊設計 21 5.4 瀏覽帖子模塊設計 24 5.5 發(fā)表帖子模塊設計 26 5.6 其他模塊設計 29 5.6.1查詢用戶模塊 29 5.6.2帖子管理模塊 30 6 系統(tǒng)運行和測試 32 6.1 測試運行情況 32 6.2 程序有待改進方面 33 結(jié)論 34 參考文獻 35 致謝 36

7、 1前言 1.1 選題背景和意義 在二十一世紀,地球因為互聯(lián)網(wǎng)的存在,早已變成一個村落。人們在互聯(lián)網(wǎng)世界里盡情的遨游,享受著Internet帶來的無限樂趣。我們習慣了上網(wǎng)看新聞、去論壇看帖、網(wǎng)上購物、撰寫自己的網(wǎng)絡日志等等。當然,最離不開的,還是各種搜索引擎,幫我們找到想要的信息??傊?,互聯(lián)網(wǎng)已經(jīng)成為我們的一種生活方式,一個巨大的知識庫。本篇設計論文,圍繞如何構(gòu)建網(wǎng)上論壇系統(tǒng)展開研究。網(wǎng)上論壇系統(tǒng)(BBS)是各種信息交流和傳布的場所,它不同于電視報紙等傳統(tǒng)的媒體,任何人都可以隨便的在BBS上發(fā)表自己的言

8、論,不受任何限制。除了可以發(fā)表文字信息外可以上傳和轉(zhuǎn)貼圖片、音樂、Flash,可以選擇字號、顏色,還可以選擇有趣的表情圖案。只要花幾分種注冊(甚至不需要)你就能暢游BBS,從中得到無窮的樂趣。本系統(tǒng)就是基于以上功能的一個BBS,旨在為廣大網(wǎng)民提供了一個交流平臺,能夠在這里暢所欲言,發(fā)表自己的看法、觀點,同時能夠結(jié)交朋友為生活增添樂趣。 1.2 系統(tǒng)要解決的問題 本系統(tǒng)要解決網(wǎng)上論壇(BBS)管理的基本功能:用戶注冊、用戶登錄、發(fā)表文章、閱讀文章、回復文章、分頁查找、作者查找、個人資料修改。版主可以添加版塊,修改版塊,查看版主信息,修改版主信息。管理員可以對帖子進行管理,修改管理員自己的信

9、息。超級管理員可以添加新的管理員以及刪除管理員,修改管理員資料,以及對帖子的管理,超級管理員還可以添加版主。在設計過程中要解決了JSP最常見的中文亂碼問題,并針對不同平臺總結(jié)出了處理亂碼的方法,為今后系統(tǒng)的移植做了鋪墊。在數(shù)據(jù)庫連接方面采用數(shù)據(jù)庫連接池技術(shù),數(shù)據(jù)庫連接池負責分配、管理和釋放數(shù)據(jù)庫連接,它允許應用程序重復使用一個現(xiàn)有的數(shù)據(jù)庫連接,而再不是重新建立一個。 2 相關(guān)技術(shù)及運行環(huán)境簡介 2.1 JSP技術(shù)簡介 JSP是服務器端的腳本語言,是以SERVLET為基礎開發(fā)而成的動態(tài)網(wǎng)頁生成技術(shù),它的底層實現(xiàn)是JAVA SERVLET。 JSP(JAVA SERVER PAGES)由

10、HTML代碼和潛入其中的JAVA代碼所組成。服務器在頁面被客戶端請求以后對這些代碼進行處理,然后將生產(chǎn)的HTML頁面返回客戶端的瀏覽器。按照腳本語言是服務于某一個子系統(tǒng)的語言這種論述,JSP應當被看作是一種腳本語言。然而,作為一種腳本語言,JSP又顯得過于強大了,在JSP中幾乎可以使用全部的Java類。 JSP的特點是面向?qū)ο蟆?跨平臺、 和SERVLET一樣穩(wěn)定、 可以使用SERVLET提供的API,同時克服了SERVLET的缺點。 在使用JSP時一般和JAVABEANS結(jié)合使用,從而將界面表現(xiàn)和業(yè)務邏輯分離。分開內(nèi)容和顯示邏輯的好處是,更新頁面外觀的人員不必懂得Java 代碼,而更

11、新JavaBean類的人員也不必是設計網(wǎng)頁的行家里手,就可以用帶JavaBeans 類的JSP 頁面來定義Web 模板,以建立一個由具有相似的外觀的頁面組成的網(wǎng)站。JavaBeans 類完成數(shù)據(jù)提供,這樣在模板中就沒有Java 代碼,這意味著這些模板可以由一個HTML 編寫人員來維護。當然,也可以利用Java Servlet來控制網(wǎng)站的邏輯,通過Java Servlet調(diào)用JSP文件的方式來將網(wǎng)站的邏輯和內(nèi)容分離。 2.2 JAVABEAN技術(shù)簡介 JAVABEAN是基于JAVA的組建模型,有點類似于MICROSOFT的COM組建。JavaBean 就是JAVA的可重用組件技術(shù)。ASP通過

12、COM來擴充復雜的功能,如文件上載、發(fā)送email以及將業(yè)務處理或復雜計算分離出來成為獨立可重復利用的模塊。JSP通過JavaBean實現(xiàn)了同樣的功能擴充。JSP 對于在Web 應用中集成JavaBean 組件提供了完善的支持。這種支持不僅能縮短開發(fā)時間(可以直接利用經(jīng)測試和可信任的已有組件,避免了重復開發(fā)),也為JSP 應用帶來了更多的可伸縮性。JavaBean 組件可以用來執(zhí)行復雜的計算任務,或負責與數(shù)據(jù)庫的交互以及數(shù)據(jù)提取等。 在JAVA平臺中,可以無限擴充JAVA程序的功能,通過JAVABEAN的組合可以快速生產(chǎn)新的應用程序。JAVABEAN 通過JAVA虛擬機(JAVA VIRT

13、UAL MACHINE)執(zhí)行,運行JAVABEAN最小的需求是JDK1.1或者以上的版本。 對于程序員來說,最好的一點就是JAVABEAN可以實現(xiàn)代碼的重復利用,另外對于程序的易維護性等等也有很重大的意義。在實際的JSP開發(fā)過程中,讀者將會發(fā)現(xiàn),和傳統(tǒng)的ASP或PHP頁面相比,JSP頁面將會是非常簡潔的,由于JavaBeans開發(fā)起來簡單,又可以利用Java語言的強大功能,許多動態(tài)頁面處理過程實際上被封裝到了JavaBeans中。 JAVABEAN傳統(tǒng)的應用在于可視化的領域,如AWT下的應用。自從JSP誕生后,JAVABEAN更多的應用在了非可視化領域,在服務器端應用方面表現(xiàn)出了越來越

14、強的生命力。 2.3 JDBC技術(shù)簡介 JDBC是一組API,定義了用來訪問數(shù)據(jù)庫源的標準JAVA類庫,使用這種類庫可以使用一種標準的方法、方便地訪問數(shù)據(jù)庫資源。JDBC是用于執(zhí)行SQL語句的Java應用程序接口,由一組用Java語言編寫的類與接口組成,在JSP中將使用JDBC來訪問數(shù)據(jù)庫。JDBC是一種規(guī)范,它讓各數(shù)據(jù)庫廠商為Java程序員提供標準的數(shù)據(jù)庫訪問類和接口,這樣就使得獨立于DBMS的Java應用程序的開發(fā)工具和產(chǎn)品成為可能。 JDBC的目標是使應用程序開發(fā)人員使用JDBC可以連接任何提供了JDBC驅(qū)動程序的數(shù)據(jù)庫系統(tǒng),這樣就使得程序員無須對特定的數(shù)據(jù)庫的特點有過多的了解,從

15、而大大簡化了和加快了開發(fā)過程。 一般的Java開發(fā)工具都帶有JDBC - ODBC橋驅(qū)動程序,這樣,只要是能夠使用ODBC訪問的數(shù)據(jù)庫系統(tǒng),也就能夠使用JDBC訪問了。有趣的是,不同于ODBC是Open Database Connectivity的簡稱,JDBC并不是Java Database Connecivity的簡稱,而是SUN的注冊商標,至少官方說法是這樣的。 JDBC API 為訪問不同的數(shù)據(jù)庫提供了一種統(tǒng)一途徑,像ODBC一樣,JDBC為開發(fā)者屏蔽了一些細節(jié)問題。 另外,JDBC對數(shù)據(jù)庫的訪問也具有平臺無關(guān)性。 2.4 TOMCAT技術(shù)簡介 在已JAVA技術(shù)為的WEB

16、開發(fā)領域中,TAMCAT是許多JAVA程序員相當喜愛的開放源代碼產(chǎn)品,它附屬在APACHE SOFTWARE FOUNDATION 所主導的JAKART項目內(nèi)。由于TAMCT是SERVLET與JSP技術(shù)的參考實現(xiàn)(REFERNCE IMPLEMENTATION),所以它不但可以當作獨立的WEB服務器,也可以結(jié)合其它的WEB服務器,只擔任SERVLET容器或JSP容器的角色。 2.5 運行環(huán)境 為了保證BBS論壇管理系統(tǒng)運行的高效性和可靠性,服務器應具有較高的軟硬件配置,客戶端的要求不是很高。此應用程序可廣泛運行于國際互聯(lián)網(wǎng)即Internet,也可適用于內(nèi)部的局域網(wǎng)。其運行要求如下: 軟件

17、環(huán)境: 客戶端: Windows95/98/2000/XP,Internet Explorer(IE)等。 服務器端:Windows NT/Windows2000,Tomcat 5.0,JDK 1.5及其以上版本,IE等; 數(shù)據(jù)庫:采用MYSQL,運行于服務器端。 硬件環(huán)境: 服務器 CPU:PIII 500以上 ,內(nèi)存:512M以上。 客戶機 CPU:P200MMX以上,內(nèi)存:32M以上。 3 需求分析 軟件的需求分析必須要有對原業(yè)務的一個深入了解、提取、抽象、升華的過程,管理軟件需求分析尤其如此。 軟件的需求分析是從用戶的業(yè)務中提取出軟件系統(tǒng)能夠幫助用戶解決的業(yè)務問題,通

18、過對用戶業(yè)務問題的分析,規(guī)劃出我們的軟件產(chǎn)品。這個步驟是對用戶業(yè)務需求的一個升華,是一個把用戶業(yè)務管理流程優(yōu)化,轉(zhuǎn)化為軟件產(chǎn)品,從而提升管理而實現(xiàn)的質(zhì)的飛躍,這一步是否成功,直接關(guān)系到開發(fā)出來的軟件產(chǎn)品能否得到用戶認可,順利交付給客戶,客戶能否真正運用我們的產(chǎn)品幫助他解決業(yè)務或管理問題。 3.1 用戶功能需求 為了系統(tǒng)的各模塊功能夠正常使用、系統(tǒng)更加人性化,還為了滿足系統(tǒng)的實用性及安全性,本系統(tǒng)包含5個角色:游客,用戶,管理員、超級管理員、版主。 (1)游客的各項功能: 游客可以瀏覽本論壇,但是不可以發(fā)帖,不可以回帖,也不可以看帖,只有注冊了以后成為本論壇的用戶,才可以執(zhí)行用戶的功能

19、。 (2)用戶的各項功能: 一旦成為本論壇的用戶后享有以下功能: 1、用戶注冊 2、用戶登錄 3、發(fā)表文章 4、閱讀文章 5、回復文章 6、作者查找 7、個人資料修改 (3)管理員的各項功能: 1、修改管理員自己的信息 2、對帖子進行管理 3、進入前臺以及退出后臺 (4)超級管理員的各項功能: 超級管理員可以添加新的管理員以及刪除管理員,修改管理員資料,以及對帖子的管理,超級管理員還可以添加版主。 (5)版主的各項功能: 版主可以具有的功能如下: 1、添加版塊 2、修改版塊 3、查看版主信息 4、修改版主信息 3.2 數(shù)據(jù)需求 用戶必須先注冊后再登

20、錄進入系統(tǒng),系統(tǒng)用戶的數(shù)據(jù)包括用戶名、用戶密碼、用戶類型。用戶名在整個系統(tǒng)中是唯一的。 用戶瀏覽帖子時,數(shù)據(jù)應當包括用戶名、帖子序號。用戶根據(jù)某一主題可以發(fā)表帖子,發(fā)表帖子需要的數(shù)據(jù)包括用戶名、版塊編號、版塊分類名、發(fā)表帖子標題、發(fā)表帖子內(nèi)容、發(fā)表帖子類型。用戶回復帖子的數(shù)據(jù)包括用戶名、回復帖子序號、回復的內(nèi)容、版塊編號、版塊分類名。 管理員進入后臺管理時,需要數(shù)據(jù)包括管理員ID、管理員密碼、管理員的類型。管理員根據(jù)權(quán)限的不同分為普通管理員和超級管理員。 版主進去后臺管理時,需要的數(shù)據(jù)包括版主名、版主密碼、子版塊名、版塊編號。 4 系統(tǒng)整體設計 4.1 系統(tǒng)模塊結(jié)構(gòu)設計

21、 BBS論壇系統(tǒng)(前臺)的主要功能模塊及其關(guān)系,如圖4-1所示: BBS論壇系統(tǒng)(前臺) 用戶登錄管理 用戶信息資料管理 相關(guān)查詢管理 主題帖子管理 用戶注冊管理 幫助與退出 瀏覽帖子 用戶信息修改 發(fā)表話題 回復帖子 新用戶注冊 按作者名查詢 后臺登錄 圖4-1 BBS論壇系統(tǒng)前臺主要功能模塊 根據(jù)BBS論壇系統(tǒng)前臺的模塊圖可以得到系統(tǒng)的具體功能: ★ 用戶登錄管理功能:新用戶注冊成功之后,在登錄界面輸入正確用戶名、密碼和驗證碼之后便可以進入本系統(tǒng)。 ★ 用戶注冊管理功能:游客可以瀏覽論壇的主題話題但是不可以發(fā)表話題和回復帖子,只有當

22、游客在本論壇注冊成為論壇的用戶后,才能進行相關(guān)操作。 ★ 用戶信息資料管理功能:在用戶登錄成功之后,可以修改用戶自己的信息,進一步完善用戶資料和修改注冊時用戶填寫的資料。 ★ 主題帖子管理功能:為了方便信息交流,用戶可以發(fā)表話題,更可以根據(jù)帖子主題瀏覽帖子內(nèi)容和回復帖子。 ★ 查詢管理功能:用戶可以按作者名查詢帖子序號、標題、發(fā)帖的時間、發(fā)帖人等信息,方便用戶快速的找到自己想要的信息。 根據(jù)BBS系統(tǒng)功能分析和論壇管理的特點,需要設計BBS論壇的后臺管理系,其主要功能模塊如圖4-2所示。 論壇后臺管理

23、系統(tǒng) 主題帖子管理 管理員信息管理 版塊管理 版主信息管理 版主管理 可以查看管理員自己的信息,可以新增管理員,可以修改管理員的資料,還可以刪除管理員。 可以按主題帖子序號,主題名,發(fā)表的話題進行看帖,修改帖子和刪除帖子操作。 可以根據(jù)版塊要求的不同,添加這一版塊的版主負責管理此版塊。 根據(jù)版塊的分類,這一版主可以添加其版塊下的子分類,或者修改原有的子分類。 可以查看版主自己的信息,可以修改版主的信息資料。 管理員管理 管理員管理 版主管理 圖 4-2 BBS論壇系統(tǒng)后臺功能模塊 根據(jù)BBS論壇系統(tǒng)后臺的模塊圖可以得到系統(tǒng)的

24、具體功能: 一 管理員管理: ★ 管理員信息管理功能:管理員輸入正確用戶名、密碼之后便可以進入到后臺管理系統(tǒng)。管理員可以查看自己的信息,可以添加管理員,可以修改管理員的資料,還可以刪除管理員。 ★ 主題帖子管理功能:管理員可以對用戶發(fā)表的帖子進行管理,管理員可以按主題帖子序號,主題名,發(fā)表的話題進行看帖,修改帖子和刪除帖子等操作。 ★ 版主管理功能:管理員可以根據(jù)版塊具體要求的不同,添加這一版塊的版主負責管理此版塊。來分擔管理員的管理論壇的工作,可以更好的為廣大用戶服務。 二 版主管理: ★ 版塊管理功能:只有版主輸入正確用戶名、密碼之后便可以進入到版主后臺管理。版主根據(jù)版塊的

25、分類,可以添加其版塊下的子分類,或者修改原有版塊下子分類的名稱,子分類的描述介紹。 ★ 版主信息管理功能:可以查看版主自己的信息,可以修改版主的信息資料。 4.2 數(shù)據(jù)庫設計 該系統(tǒng)采用MySQL作為后臺數(shù)據(jù)庫去存儲所有與系統(tǒng)相關(guān)的數(shù)據(jù)。這些數(shù)據(jù)表包括用戶表(userinfo)、主題帖子表(topicinfo)、回復帖子表(replyinfo)、版塊表(foruminfo)以及管理員表(admininfo)。數(shù)據(jù)模型的最終目的就是規(guī)劃能夠有效地處理事務,并且保持應用開發(fā)的簡潔性的關(guān)系數(shù)據(jù)庫,并在數(shù)據(jù)庫的規(guī)范化、性能優(yōu)化以及數(shù)據(jù)的簡潔性之間達到平衡。 4.2.1 E-R圖分析 4.2.

26、1.1 ER模型 E-R模型是對現(xiàn)實世界的一種抽象。它的主要成分是實體、聯(lián)系和屬性。使用這三種成分,我們可以建立許多應用環(huán)境的ER模型。本系統(tǒng)的實體和屬性的定義如下: 用戶表(用戶ID、用戶密碼、用戶昵稱、用戶電子郵箱、用戶級別、用戶留言、用戶自述、用戶權(quán)限) 主題帖子表(主題帖子編號、主題帖子標題、主題帖子作者、帖子內(nèi)容、發(fā)表帖子的時間、回復數(shù)、所屬版塊號、主題類型) 回復帖子表(回復編號、回復帖子編號、回復作者、回復帖子時間、回復內(nèi)容) 版塊表(版塊編號、版塊名稱、版塊類型、子版塊編號、版主、主題數(shù)、文章數(shù)、版塊描述) 管理員表(管理員ID、管理員密碼、管理員電子郵箱、管理員自

27、述、注冊時間、管理員留言、管理員權(quán)限) 具體實體屬性的關(guān)系圖: 用戶 用戶留言 級別 用戶郵箱 用戶ID 密碼 昵稱 用戶權(quán)限 用戶自述 圖 4-3 用戶信息實體圖 主題帖子 發(fā)表帖子時間 回復數(shù) 帖子內(nèi)容 帖子編號 標題 作者 主題類型 所屬版塊號 圖 4-4 主題帖子信息實體圖 回復帖子 回復編號 回復帖子編號 回復內(nèi)容 回復帖子時間 回復作者 圖 4-5 回復帖子信息實體圖 版塊 版塊描述 版主 主題數(shù) 版塊編號 版塊名稱 版塊

28、類型 文章數(shù) 子版塊編號 圖 4-6 版塊信息實體圖 管理員 留言 注冊時間 管理員自述 管理員ID 密碼 郵箱 管理員權(quán)限 圖 4-7 管理員信息實體圖 4.2.1.2 聯(lián)系定義 ER模型的“聯(lián)系”用于刻畫實體之間的關(guān)聯(lián)。一種完整的方式是對局部結(jié)構(gòu)中任意兩個實體類型,依據(jù)需求分析的結(jié)果,考察局部結(jié)構(gòu)中任意兩個實體類型之間是否存在聯(lián)系。若有聯(lián)系,進一步確定是1:N,M:N,還是1:1等。還要考察一個實體類型內(nèi)部是否存在聯(lián)系,兩個實體類型之間是否存在聯(lián)系,多個實體類型之間是否存在聯(lián)系,等等。 本系統(tǒng)的ER模型如圖4-8所示: 版塊

29、 m m n m 1 n 1 用戶 所屬 n 主題帖子 管理員 回復帖子 管理 對應 瀏覽 圖 4-8 ER模型圖 4.2.2 數(shù)據(jù)表設計 在這個數(shù)據(jù)庫管理系統(tǒng)中要建立5張數(shù)據(jù)表,包括用戶表(userinfo)、主題帖子表(topicinfo)、回復帖子表(replyinfo)、版塊表(foruminfo)以及管理員表(admininfo)。在剛剛建立的hello2數(shù)據(jù)庫節(jié)點下的“表”節(jié)點右擊,在彈出的快捷菜單中選擇“新增資料表”命令,就可以開始新建各個數(shù)據(jù)表。這5張數(shù)據(jù)表的各個字段意義如下所示。 4.2.2.1??????回復帖

30、子表(replyinfo) 字段名 數(shù)據(jù)類型 字段大小 說明 id int 11 回復編號(主鍵) topicid int 11 主題號(外鍵) replyuserid varchar 20 回復者(外鍵) replytime datetime 0 ?回復時間 replycontent varchar 300 ?回復內(nèi)容 表4-1 回復帖子表 4.2.2.2??????主題帖子表(topicinfo) 字段名 數(shù)據(jù)類型 字段大小 說明 topicid int 11 主題編號(主鍵) topictitle varchar

31、 60 標題 topicuserid varchar 20 發(fā)帖人(外鍵) topiccontent varchar ?300 ?發(fā)帖內(nèi)容 topictime datetime ?0 ?發(fā)帖時間 replynum int ?10 回復數(shù)? forumid int ?10 ?版塊號(外鍵) groupid int 2 主題類型 表4-2 主題帖子表 4.2.2.3?????版塊表(foruminfo) 字段名 數(shù)據(jù)類型 字段大小 說明 mid int 10 版塊編號(主鍵) name varchar 80 版塊名

32、isparent int ?2 ?版塊是否分類 sortid int ?3 ?子版塊號 adminauthor varchar 60 版主 totaltopic int 10 主題數(shù) totalpost int 11 文章數(shù) description varchar 160 版塊描述 表4-3 版塊表 4.2.2.4?? 管理員表(admininfo) 字段名 數(shù)據(jù)類型 字段大小 說明 admname varchar 20 管理員ID(主鍵) admpwd varchar 20 密碼 admemail varch

33、ar 50 ?郵箱 admstate varchar 50 ?自述 admtime datetime 0 注冊時間 admsay varchar 150 留言 admright int 10 權(quán)限 表4-4 管理員信息表 4.2.2.5??? 用戶表(userinfo) 字段名 數(shù)據(jù)類型 字段大小 說明 userid varchar 20 用戶名(主鍵) userpwd varchar 20 ?密碼 username varchar 30 ?昵稱 useremail varchar 50 ?郵箱 userl

34、evel int 20 ?級別 usersay varchar 150 留言 userstate varchar 20 自述 right int 10 權(quán)限 表4-5 用戶信息表 4.3系統(tǒng)流程圖用戶 登錄 是否登陸 回復帖子 管理員管理 搜索主貼 帖子管理 版主管理 主界面 是 否 主頁面 注冊 后臺管理 發(fā)表新帖 添加管理員 修改管理員資料 刪除管理員 修改帖子 查看帖子 刪除帖子 添加版主 修改版主資料 添加版塊 圖 4-9 主要功能流程圖 各模塊功能解釋如下: 用戶登錄模塊:新用戶注冊

35、成功之后,在登錄界面輸入注冊時填寫的正確用戶名、密碼之后,再輸入出現(xiàn)的驗證碼之后便可以進入本系統(tǒng)。如果用戶名和密碼正確,但是輸入的驗證碼錯誤,則不允許進入本系統(tǒng),跳轉(zhuǎn)到登錄界面重新輸入。 用戶注冊模塊:建立賬號,如果游客以前沒有建立賬號,則只可以瀏覽論壇的主題話題但是不可以發(fā)表新話題和回復有關(guān)帖子,只有當游客在本論壇注冊成為論壇的用戶后,才能進行相關(guān)操作。同時在用戶創(chuàng)建新賬號的時候,必須輸入用戶名(系統(tǒng)會在提交時檢查該用戶名是否已存在) 。用戶在建立新賬號之后就可以具有合法登錄系統(tǒng)的身份,可以進行相關(guān)的操作。 用戶信息資料管理模塊:在用戶登錄成功之后,可以修改用戶自己的信息,進一步完善用

36、戶自己的資料和修改注冊時用戶填寫的資料。 主題帖子模塊:為了方便信息交流,首先帖子主題類型分為精華主題(紅色)和普通主題(黑色),用戶可以根據(jù)需要游覽自己感興趣的帖子,獲得所需信息。用戶可以發(fā)表話題,還可以根據(jù)帖子主題瀏覽帖子內(nèi)容和回復帖子。 查詢模塊:用戶只要輸入想查詢的用戶ID,點擊查詢按鈕,便可以查詢出該用戶發(fā)表的所有帖子以及該用戶發(fā)表的帖子序號、標題、發(fā)帖的時間、發(fā)帖人等詳細信息,方便用戶快速的找到自己想要的信息。 管理員信息管理模塊:管理員輸入正確用戶名、密碼之后便可以進入到后臺管理系統(tǒng)。管理員可以查看自己的信息,可以添加管理員,可以修改管理員的資料,還可以刪除管理員。 主題

37、帖子管理模塊:管理員可以對用戶發(fā)表的帖子進行管理,管理員可以按主題帖子序號,主題名,發(fā)表的話題進行看帖,修改帖子和刪除帖子等操作。 版主管理模塊:管理員可以根據(jù)版塊具體要求的不同,添加這一版塊的版主負責管理此版塊,來分擔管理員的管理論壇的工作,可以更好的為廣大用戶服務。版主還可以修改自己的資料,添加本版塊的子版塊。 5 詳細設計 5.1 用戶登錄模塊 當游客注冊成為本BBS論壇系統(tǒng)的用戶后,便跳轉(zhuǎn)到系統(tǒng)登錄界面,在系統(tǒng)登錄界面(圖5-1所示)輸入正確用戶名、密碼和驗證碼之后便可以進入本系統(tǒng)。 圖 5-1 用戶登陸界面 驗證用戶登陸的代碼如下: pr

38、ivate String userid,userpwd; public Connection con=null; public Statement stmt=null; public ResultSet rs=null; public String getUserid() { return userid; } public void setUserid(String userid) { this.userid = userid; } public String getUserpwd() { return userpwd; } publi

39、c void setUserpwd(String userpwd) { this.userpwd = userpwd; } public boolean checkUser(String id,String p){ boolean b=false; try { con=new ConnDb().getConn(); stmt=con.createStatement(); String sql="select * from userinfo where userid='"+id+"' and userpwd='"+p+"'";

40、 rs=stmt.executeQuery(sql); if(rs.next()) { b=true; } } catch (Exception e) { // TODO: handle exception e.printStackTrace(); }finally{ this.close(); } return b; } 5.2 用戶注冊模塊設計 游客如果要在本BBS論壇系統(tǒng)發(fā)表帖子和回復帖子,游客必須在本論壇注冊成為論壇的用戶后,才能進行相關(guān)操作。系統(tǒng)注冊界面(圖5-

41、2所示) 圖 5-2 用戶注冊界面 驗證用戶注冊是否成功代碼如下: public class Register { private String userID; private String userName; private String userPwd; private String userEmail; private int userLevel=0; private String userSay; public int userRegister(){ try{ Class.forName("org

42、.gjt.mm.mysql.Driver").newInstance(); String url ="jdbc:mysql://localhost/hello2?user=root&password=123456"; Connection con=null; Statement stmt=null; ResultSet rs=null; con=DriverManager.getConnection(url); stmt=con.createStatement(); rs=stmt.executeQuery(

43、"select * from userinfo where userid='"+userID+"'"); int i=0; while(rs.next()){ i++; } System.out.println(String.valueOf(i)); if(i>0){ return -1;//-1是代表用戶已經(jīng)存在 } String insert="insert into userinfo values('"+userID+"','"+userPwd+"','"+userName+"','

44、"+userEmail+"','"+userLevel+"','"+userSay+"',0)"; stmt.executeUpdate(insert); return 0; //0 是代表注冊成功 } catch (Exception e) { // TODO Auto-generated catch block System.err.println(e.getMessage()); System.err.println("fail"); return -2;//-2 是代表注冊失敗 } } }

45、 5.3 帖子主題模塊設計 帖子主題界面(圖5-3所示),帖子主題類型分為精華主題(紅色)和普通主題(黑色),用戶可以根據(jù)需要游覽自己感興趣的帖子,獲得所需信息。用戶可以發(fā)表話題,還可以根據(jù)帖子主題瀏覽帖子內(nèi)容和回復帖子,以及根據(jù)用戶ID查詢主題帖子。 圖 5-3 帖子主題界面 帖子精華主題代碼如下: <% ResultSet rs; String sql="select * from topicinfo where forumid='"+forumid+"' and groupid=1 "; rs=databean.executeQuery(sql); %>

46、<% while(rs.next()) {out.print(""); String topicid=rs.getString("topicid"); %><% int tid=ry.getLastReply(topicid); if(tid!=0){ Class.forName("org.gjt.mm.mysql.Driver").newInstance(); String urll ="jdbc:mysql://localhost/hello2?user=root&password=123456"; Connection conn=null; S

47、tatement stmtt=null; ResultSet rs2; conn=DriverManager.getConnection(urll); stmtt=conn.createStatement(); String sql2="select * from replyinfo where id='"+tid+"' "; rs2=stmtt.executeQuery(sql2); while(rs2.next()){ %>

48、nmouseout="this.className='tr3 f_one'"> <%=rs.getString("topicid")%>

<%=rs.getString("topictitle")%>

<%=rs.getString("topicuserid")%>

<%=rs.getInt("replynum")%>

50、ass=a2 href="kantie.jsp?userid=<%=userid%>&topicid=<%=topicid%>"><%=rs2.getString("replycontent")%>
By:<%=rs2.getString("replyuserid")%> [ <%=rs2.getString("replytime")%> ]  

看帖
<%} }else{ %> <%=rs.getString("topicid")%> &topicid=<%=topicid%>"><%=rs.getStri

53、ng("topictitle")%>

<%=rs.getString("topicuserid")%>

<%=rs.getInt("replynum")%>


By:無

54、

看帖
<% } %>

55、width="369"> <% } %>

5.4 瀏覽帖子模塊設計 用戶根據(jù)回復帖子的ID,可以查看該主題帖子的所有用戶的回復內(nèi)容,并可以根據(jù)該主題帖子添加自己的回復內(nèi)容。瀏覽帖子的界面(圖5-4所示)。 圖 5-4 瀏覽帖子界面 顯示所有回復帖子代碼如下: <% Class.forName("org.gjt.mm.mysql.Driver").newInstance();

56、 String url ="jdbc:mysql://localhost/hello2?user=root&password=123456"; Connection con=null; Statement stmt=null; ResultSet rs=null; con=DriverManager.getConnection(url); stmt=con.createStatement(); rs=stmt.executeQuery("select * from topicinfo a,userinfo b where t

57、opicid='"+topicid+"'and a.topicuserid=b.userid"); rs.next(); String ttitle=rs.getString("topictitle"); String tuserid=rs.getString("topicuserid"); String content=rs.getString("topiccontent"); String tname=rs.getString("username"); String tsay=rs.getString("usersay"); out.println("

58、s=h >

討論的話題:"+ttitle+"


      內(nèi)容:"+content+"

"+"

樓主:"+tuserid+"
"+"

個性簽名:*"+tsay+""); %>

59、 cellpadding="2" bordercolor="#C0C0C0" bordercolorlight="#c0c0c0" bordercolordark="#FFFFFF" bgcolor="#EEEEEE">

<% Class.forName("org.gjt.mm.mysql.Driver").newInstance(); String urll ="jdbc:mysql://localhost/hello2?user=root&password=123456"; Connection conn=nu

60、ll; Statement stmtt=null; ResultSet rrs=null; conn=DriverManager.getConnection(urll); stmtt=conn.createStatement(); rrs=stmtt.executeQuery("select * from replyinfo a,userinfo b where topicid='"+topicid+"'and a.replyuserid=b.userid order by replytime desc"); int i=0;

61、 String ruserid,rcontent,rsay,rtime; while(rrs.next()) { i++; rtime=rrs.getString("replytime"); ruserid=rrs.getString("userid"); rcontent=rrs.getString("replycontent"); rsay=rrs.getString("usersay"); out.println("

"); out.println("

63、tr>"); } %> 5.5 發(fā)表帖子模塊設計 用戶點擊發(fā)表帖子按鈕便進入了發(fā)表帖子界面,用戶可以選擇發(fā)表帖子的主題類型,用戶填寫要發(fā)表主題帖子的標題和內(nèi)容。發(fā)表帖子的界面(圖5-5所示)。 圖 5-5 發(fā)表帖子界面 發(fā)表帖子界面設計代碼如下:

發(fā)帖說明

64、

請自覺遵守發(fā)帖規(guī)則,不要發(fā)表不良信息.




回復:"+rcontent+"

回帖的時

62、間:"+rtime+"

"+String.valueOf(i)+"樓:"+ruserid+"

個性簽名:"+rsay+""); out.println("頂端

65、tr>

    • <noframes id="io6m2"><kbd id="io6m2"></kbd></noframes>
    • <noframes id="io6m2"></noframes>
          發(fā)表新貼
          標題:*

          66、e="width:60%" />

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

          相關(guān)資源

          更多
          正為您匹配相似的精品文檔

          copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

          備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


          本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!