歡迎來(lái)到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁(yè) 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

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

  • 資源ID:73491014       資源大?。?span id="djfj8js" class="font-tahoma">506.50KB        全文頁(yè)數(shù):41頁(yè)
  • 資源格式: DOC        下載積分:16積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要16積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號(hào),方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁(yè)到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無(wú)水印,預(yù)覽文檔經(jīng)過(guò)壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒(méi)有明確說(shuō)明有答案則都視為沒(méi)有答案,請(qǐng)知曉。

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

畢業(yè)設(shè)計(jì)說(shuō)明書學(xué)生姓名 學(xué) 號(hào) 院 (系) 專 業(yè)計(jì)算機(jī)科學(xué)與技術(shù)題 目BBS論壇系統(tǒng)指導(dǎo)教師 (姓 名) (專業(yè)技術(shù)職稱/學(xué)位)2009年05月摘 要:當(dāng)今社會(huì)是一個(gè)信息飛速發(fā)達(dá)的社會(huì),人們通過(guò)互聯(lián)網(wǎng)絡(luò)可以進(jìn)行信息的交流。論壇就是一種在Internet網(wǎng)上開放的信息服務(wù)系統(tǒng),通過(guò)論壇用戶可以方便的實(shí)現(xiàn)信息的交換和文件的共享。本文研究并實(shí)現(xiàn)了基于B/S模式的BBS論壇系統(tǒng),該系統(tǒng)采用目前流行的JSP+JavaBean+后臺(tái)數(shù)據(jù)庫(kù)三層架構(gòu)。本文從BBS系統(tǒng)的開發(fā)背景、相關(guān)技術(shù)、需求分析、詳細(xì)設(shè)計(jì)、系統(tǒng)測(cè)試與維護(hù)等方面詳細(xì)闡述了整個(gè)系統(tǒng)的開發(fā)過(guò)程。關(guān)鍵詞: BBS ,JSP,MYSQL,JavaBeans Abstract:Nowadays is a flourishing society that information travels fast, Through the Internet people can exchange information 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, The 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,JavaBeans 目錄1前言11.1 選題背景和意義11.2 系統(tǒng)要解決的問(wèn)題12 相關(guān)技術(shù)及運(yùn)行環(huán)境簡(jiǎn)介12.1 JSP技術(shù)簡(jiǎn)介12.2 JAVABEAN技術(shù)簡(jiǎn)介22.3 JDBC技術(shù)簡(jiǎn)介22.4 TOMCAT技術(shù)簡(jiǎn)介32.5 運(yùn)行環(huán)境33 需求分析33.1 用戶功能需求43.2 數(shù)據(jù)需求54 系統(tǒng)整體設(shè)計(jì)54.1 系統(tǒng)模塊結(jié)構(gòu)設(shè)計(jì)54.2 數(shù)據(jù)庫(kù)設(shè)計(jì)94.2.1 E-R圖分析94.2.1.1 ER模型94.2.1.2 聯(lián)系定義124.2.2 數(shù)據(jù)表設(shè)計(jì)134.3系統(tǒng)流程圖155 詳細(xì)設(shè)計(jì)165.1 用戶登錄模塊165.2 用戶注冊(cè)模塊設(shè)計(jì)185.3 帖子主題模塊設(shè)計(jì)215.4 瀏覽帖子模塊設(shè)計(jì)245.5 發(fā)表帖子模塊設(shè)計(jì)265.6 其他模塊設(shè)計(jì)295.6.1查詢用戶模塊295.6.2帖子管理模塊306 系統(tǒng)運(yùn)行和測(cè)試326.1 測(cè)試運(yùn)行情況326.2 程序有待改進(jìn)方面33結(jié)論34參考文獻(xiàn)35致謝361前言1.1 選題背景和意義在二十一世紀(jì),地球因?yàn)榛ヂ?lián)網(wǎng)的存在,早已變成一個(gè)村落。人們?cè)诨ヂ?lián)網(wǎng)世界里盡情的遨游,享受著Internet帶來(lái)的無(wú)限樂(lè)趣。我們習(xí)慣了上網(wǎng)看新聞、去論壇看帖、網(wǎng)上購(gòu)物、撰寫自己的網(wǎng)絡(luò)日志等等。當(dāng)然,最離不開的,還是各種搜索引擎,幫我們找到想要的信息??傊?,互聯(lián)網(wǎng)已經(jīng)成為我們的一種生活方式,一個(gè)巨大的知識(shí)庫(kù)。本篇設(shè)計(jì)論文,圍繞如何構(gòu)建網(wǎng)上論壇系統(tǒng)展開研究。網(wǎng)上論壇系統(tǒng)(BBS)是各種信息交流和傳布的場(chǎng)所,它不同于電視報(bào)紙等傳統(tǒng)的媒體,任何人都可以隨便的在BBS上發(fā)表自己的言論,不受任何限制。除了可以發(fā)表文字信息外可以上傳和轉(zhuǎn)貼圖片、音樂(lè)、Flash,可以選擇字號(hào)、顏色,還可以選擇有趣的表情圖案。只要花幾分種注冊(cè)(甚至不需要)你就能暢游BBS,從中得到無(wú)窮的樂(lè)趣。本系統(tǒng)就是基于以上功能的一個(gè)BBS,旨在為廣大網(wǎng)民提供了一個(gè)交流平臺(tái),能夠在這里暢所欲言,發(fā)表自己的看法、觀點(diǎn),同時(shí)能夠結(jié)交朋友為生活增添樂(lè)趣。1.2 系統(tǒng)要解決的問(wèn)題 本系統(tǒng)要解決網(wǎng)上論壇(BBS)管理的基本功能:用戶注冊(cè)、用戶登錄、發(fā)表文章、閱讀文章、回復(fù)文章、分頁(yè)查找、作者查找、個(gè)人資料修改。版主可以添加版塊,修改版塊,查看版主信息,修改版主信息。管理員可以對(duì)帖子進(jìn)行管理,修改管理員自己的信息。超級(jí)管理員可以添加新的管理員以及刪除管理員,修改管理員資料,以及對(duì)帖子的管理,超級(jí)管理員還可以添加版主。在設(shè)計(jì)過(guò)程中要解決了JSP最常見的中文亂碼問(wèn)題,并針對(duì)不同平臺(tái)總結(jié)出了處理亂碼的方法,為今后系統(tǒng)的移植做了鋪墊。在數(shù)據(jù)庫(kù)連接方面采用數(shù)據(jù)庫(kù)連接池技術(shù),數(shù)據(jù)庫(kù)連接池負(fù)責(zé)分配、管理和釋放數(shù)據(jù)庫(kù)連接,它允許應(yīng)用程序重復(fù)使用一個(gè)現(xiàn)有的數(shù)據(jù)庫(kù)連接,而再不是重新建立一個(gè)。2 相關(guān)技術(shù)及運(yùn)行環(huán)境簡(jiǎn)介2.1 JSP技術(shù)簡(jiǎn)介JSP是服務(wù)器端的腳本語(yǔ)言,是以SERVLET為基礎(chǔ)開發(fā)而成的動(dòng)態(tài)網(wǎng)頁(yè)生成技術(shù),它的底層實(shí)現(xiàn)是JAVA SERVLET。JSP(JAVA SERVER PAGES)由HTML代碼和潛入其中的JAVA代碼所組成。服務(wù)器在頁(yè)面被客戶端請(qǐng)求以后對(duì)這些代碼進(jìn)行處理,然后將生產(chǎn)的HTML頁(yè)面返回客戶端的瀏覽器。按照腳本語(yǔ)言是服務(wù)于某一個(gè)子系統(tǒng)的語(yǔ)言這種論述,JSP應(yīng)當(dāng)被看作是一種腳本語(yǔ)言。然而,作為一種腳本語(yǔ)言,JSP又顯得過(guò)于強(qiáng)大了,在JSP中幾乎可以使用全部的Java類。JSP的特點(diǎn)是面向?qū)ο蟆?跨平臺(tái)、 和SERVLET一樣穩(wěn)定、 可以使用SERVLET提供的API,同時(shí)克服了SERVLET的缺點(diǎn)。在使用JSP時(shí)一般和JAVABEANS結(jié)合使用,從而將界面表現(xiàn)和業(yè)務(wù)邏輯分離。分開內(nèi)容和顯示邏輯的好處是,更新頁(yè)面外觀的人員不必懂得Java 代碼,而更新JavaBean類的人員也不必是設(shè)計(jì)網(wǎng)頁(yè)的行家里手,就可以用帶JavaBeans 類的JSP 頁(yè)面來(lái)定義Web 模板,以建立一個(gè)由具有相似的外觀的頁(yè)面組成的網(wǎng)站。JavaBeans 類完成數(shù)據(jù)提供,這樣在模板中就沒(méi)有Java 代碼,這意味著這些模板可以由一個(gè)HTML 編寫人員來(lái)維護(hù)。當(dāng)然,也可以利用Java Servlet來(lái)控制網(wǎng)站的邏輯,通過(guò)Java Servlet調(diào)用JSP文件的方式來(lái)將網(wǎng)站的邏輯和內(nèi)容分離。2.2 JAVABEAN技術(shù)簡(jiǎn)介JAVABEAN是基于JAVA的組建模型,有點(diǎn)類似于MICROSOFT的COM組建。JavaBean 就是JAVA的可重用組件技術(shù)。ASP通過(guò)COM來(lái)擴(kuò)充復(fù)雜的功能,如文件上載、發(fā)送email以及將業(yè)務(wù)處理或復(fù)雜計(jì)算分離出來(lái)成為獨(dú)立可重復(fù)利用的模塊。JSP通過(guò)JavaBean實(shí)現(xiàn)了同樣的功能擴(kuò)充。JSP 對(duì)于在Web 應(yīng)用中集成JavaBean 組件提供了完善的支持。這種支持不僅能縮短開發(fā)時(shí)間(可以直接利用經(jīng)測(cè)試和可信任的已有組件,避免了重復(fù)開發(fā)),也為JSP 應(yīng)用帶來(lái)了更多的可伸縮性。JavaBean 組件可以用來(lái)執(zhí)行復(fù)雜的計(jì)算任務(wù),或負(fù)責(zé)與數(shù)據(jù)庫(kù)的交互以及數(shù)據(jù)提取等。在JAVA平臺(tái)中,可以無(wú)限擴(kuò)充JAVA程序的功能,通過(guò)JAVABEAN的組合可以快速生產(chǎn)新的應(yīng)用程序。JAVABEAN 通過(guò)JAVA虛擬機(jī)(JAVA VIRTUAL MACHINE)執(zhí)行,運(yùn)行JAVABEAN最小的需求是JDK1.1或者以上的版本。對(duì)于程序員來(lái)說(shuō),最好的一點(diǎn)就是JAVABEAN可以實(shí)現(xiàn)代碼的重復(fù)利用,另外對(duì)于程序的易維護(hù)性等等也有很重大的意義。在實(shí)際的JSP開發(fā)過(guò)程中,讀者將會(huì)發(fā)現(xiàn),和傳統(tǒng)的ASP或PHP頁(yè)面相比,JSP頁(yè)面將會(huì)是非常簡(jiǎn)潔的,由于JavaBeans開發(fā)起來(lái)簡(jiǎn)單,又可以利用Java語(yǔ)言的強(qiáng)大功能,許多動(dòng)態(tài)頁(yè)面處理過(guò)程實(shí)際上被封裝到了JavaBeans中。JAVABEAN傳統(tǒng)的應(yīng)用在于可視化的領(lǐng)域,如AWT下的應(yīng)用。自從JSP誕生后,JAVABEAN更多的應(yīng)用在了非可視化領(lǐng)域,在服務(wù)器端應(yīng)用方面表現(xiàn)出了越來(lái)越強(qiáng)的生命力。2.3 JDBC技術(shù)簡(jiǎn)介JDBC是一組API,定義了用來(lái)訪問(wèn)數(shù)據(jù)庫(kù)源的標(biāo)準(zhǔn)JAVA類庫(kù),使用這種類庫(kù)可以使用一種標(biāo)準(zhǔn)的方法、方便地訪問(wèn)數(shù)據(jù)庫(kù)資源。JDBC是用于執(zhí)行SQL語(yǔ)句的Java應(yīng)用程序接口,由一組用Java語(yǔ)言編寫的類與接口組成,在JSP中將使用JDBC來(lái)訪問(wèn)數(shù)據(jù)庫(kù)。JDBC是一種規(guī)范,它讓各數(shù)據(jù)庫(kù)廠商為Java程序員提供標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù)訪問(wèn)類和接口,這樣就使得獨(dú)立于DBMS的Java應(yīng)用程序的開發(fā)工具和產(chǎn)品成為可能。JDBC的目標(biāo)是使應(yīng)用程序開發(fā)人員使用JDBC可以連接任何提供了JDBC驅(qū)動(dòng)程序的數(shù)據(jù)庫(kù)系統(tǒng),這樣就使得程序員無(wú)須對(duì)特定的數(shù)據(jù)庫(kù)的特點(diǎn)有過(guò)多的了解,從而大大簡(jiǎn)化了和加快了開發(fā)過(guò)程。一般的Java開發(fā)工具都帶有JDBC - ODBC橋驅(qū)動(dòng)程序,這樣,只要是能夠使用ODBC訪問(wèn)的數(shù)據(jù)庫(kù)系統(tǒng),也就能夠使用JDBC訪問(wèn)了。有趣的是,不同于ODBC是Open Database Connectivity的簡(jiǎn)稱,JDBC并不是Java Database Connecivity的簡(jiǎn)稱,而是SUN的注冊(cè)商標(biāo),至少官方說(shuō)法是這樣的。JDBC API 為訪問(wèn)不同的數(shù)據(jù)庫(kù)提供了一種統(tǒng)一途徑,像ODBC一樣,JDBC為開發(fā)者屏蔽了一些細(xì)節(jié)問(wèn)題。另外,JDBC對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)也具有平臺(tái)無(wú)關(guān)性。2.4 TOMCAT技術(shù)簡(jiǎn)介在已JAVA技術(shù)為的WEB開發(fā)領(lǐng)域中,TAMCAT是許多JAVA程序員相當(dāng)喜愛的開放源代碼產(chǎn)品,它附屬在APACHE SOFTWARE FOUNDATION 所主導(dǎo)的JAKART項(xiàng)目?jī)?nèi)。由于TAMCT是SERVLET與JSP技術(shù)的參考實(shí)現(xiàn)(REFERNCE IMPLEMENTATION),所以它不但可以當(dāng)作獨(dú)立的WEB服務(wù)器,也可以結(jié)合其它的WEB服務(wù)器,只擔(dān)任SERVLET容器或JSP容器的角色。2.5 運(yùn)行環(huán)境為了保證BBS論壇管理系統(tǒng)運(yùn)行的高效性和可靠性,服務(wù)器應(yīng)具有較高的軟硬件配置,客戶端的要求不是很高。此應(yīng)用程序可廣泛運(yùn)行于國(guó)際互聯(lián)網(wǎng)即Internet,也可適用于內(nèi)部的局域網(wǎng)。其運(yùn)行要求如下:軟件環(huán)境:客戶端: Windows95/98/2000/XP,Internet Explorer(IE)等。服務(wù)器端:Windows NT/Windows2000,Tomcat 5.0,JDK 1.5及其以上版本,IE等;數(shù)據(jù)庫(kù):采用MYSQL,運(yùn)行于服務(wù)器端。硬件環(huán)境:服務(wù)器 CPU:PIII 500以上 ,內(nèi)存:512M以上??蛻魴C(jī) CPU:P200MMX以上,內(nèi)存:32M以上。3 需求分析軟件的需求分析必須要有對(duì)原業(yè)務(wù)的一個(gè)深入了解、提取、抽象、升華的過(guò)程,管理軟件需求分析尤其如此。軟件的需求分析是從用戶的業(yè)務(wù)中提取出軟件系統(tǒng)能夠幫助用戶解決的業(yè)務(wù)問(wèn)題,通過(guò)對(duì)用戶業(yè)務(wù)問(wèn)題的分析,規(guī)劃出我們的軟件產(chǎn)品。這個(gè)步驟是對(duì)用戶業(yè)務(wù)需求的一個(gè)升華,是一個(gè)把用戶業(yè)務(wù)管理流程優(yōu)化,轉(zhuǎn)化為軟件產(chǎn)品,從而提升管理而實(shí)現(xiàn)的質(zhì)的飛躍,這一步是否成功,直接關(guān)系到開發(fā)出來(lái)的軟件產(chǎn)品能否得到用戶認(rèn)可,順利交付給客戶,客戶能否真正運(yùn)用我們的產(chǎn)品幫助他解決業(yè)務(wù)或管理問(wèn)題。3.1 用戶功能需求為了系統(tǒng)的各模塊功能夠正常使用、系統(tǒng)更加人性化,還為了滿足系統(tǒng)的實(shí)用性及安全性,本系統(tǒng)包含5個(gè)角色:游客,用戶,管理員、超級(jí)管理員、版主。(1)游客的各項(xiàng)功能: 游客可以瀏覽本論壇,但是不可以發(fā)帖,不可以回帖,也不可以看帖,只有注冊(cè)了以后成為本論壇的用戶,才可以執(zhí)行用戶的功能。(2)用戶的各項(xiàng)功能:一旦成為本論壇的用戶后享有以下功能:1、用戶注冊(cè)2、用戶登錄3、發(fā)表文章4、閱讀文章5、回復(fù)文章6、作者查找7、個(gè)人資料修改(3)管理員的各項(xiàng)功能:1、修改管理員自己的信息2、對(duì)帖子進(jìn)行管理3、進(jìn)入前臺(tái)以及退出后臺(tái)(4)超級(jí)管理員的各項(xiàng)功能:超級(jí)管理員可以添加新的管理員以及刪除管理員,修改管理員資料,以及對(duì)帖子的管理,超級(jí)管理員還可以添加版主。(5)版主的各項(xiàng)功能:版主可以具有的功能如下:1、添加版塊2、修改版塊3、查看版主信息4、修改版主信息3.2 數(shù)據(jù)需求用戶必須先注冊(cè)后再登錄進(jìn)入系統(tǒng),系統(tǒng)用戶的數(shù)據(jù)包括用戶名、用戶密碼、用戶類型。用戶名在整個(gè)系統(tǒng)中是唯一的。用戶瀏覽帖子時(shí),數(shù)據(jù)應(yīng)當(dāng)包括用戶名、帖子序號(hào)。用戶根據(jù)某一主題可以發(fā)表帖子,發(fā)表帖子需要的數(shù)據(jù)包括用戶名、版塊編號(hào)、版塊分類名、發(fā)表帖子標(biāo)題、發(fā)表帖子內(nèi)容、發(fā)表帖子類型。用戶回復(fù)帖子的數(shù)據(jù)包括用戶名、回復(fù)帖子序號(hào)、回復(fù)的內(nèi)容、版塊編號(hào)、版塊分類名。管理員進(jìn)入后臺(tái)管理時(shí),需要數(shù)據(jù)包括管理員ID、管理員密碼、管理員的類型。管理員根據(jù)權(quán)限的不同分為普通管理員和超級(jí)管理員。版主進(jìn)去后臺(tái)管理時(shí),需要的數(shù)據(jù)包括版主名、版主密碼、子版塊名、版塊編號(hào)。4 系統(tǒng)整體設(shè)計(jì)4.1 系統(tǒng)模塊結(jié)構(gòu)設(shè)計(jì) BBS論壇系統(tǒng)(前臺(tái))的主要功能模塊及其關(guān)系,如圖4-1所示:BBS論壇系統(tǒng)(前臺(tái))用戶登錄管理用戶信息資料管理相關(guān)查詢管理主題帖子管理用戶注冊(cè)管理幫助與退出瀏覽帖子用戶信息修改發(fā)表話題回復(fù)帖子新用戶注冊(cè)按作者名查詢后臺(tái)登錄圖4-1 BBS論壇系統(tǒng)前臺(tái)主要功能模塊根據(jù)BBS論壇系統(tǒng)前臺(tái)的模塊圖可以得到系統(tǒng)的具體功能: 用戶登錄管理功能:新用戶注冊(cè)成功之后,在登錄界面輸入正確用戶名、密碼和驗(yàn)證碼之后便可以進(jìn)入本系統(tǒng)。 用戶注冊(cè)管理功能:游客可以瀏覽論壇的主題話題但是不可以發(fā)表話題和回復(fù)帖子,只有當(dāng)游客在本論壇注冊(cè)成為論壇的用戶后,才能進(jìn)行相關(guān)操作。 用戶信息資料管理功能:在用戶登錄成功之后,可以修改用戶自己的信息,進(jìn)一步完善用戶資料和修改注冊(cè)時(shí)用戶填寫的資料。 主題帖子管理功能:為了方便信息交流,用戶可以發(fā)表話題,更可以根據(jù)帖子主題瀏覽帖子內(nèi)容和回復(fù)帖子。 查詢管理功能:用戶可以按作者名查詢帖子序號(hào)、標(biāo)題、發(fā)帖的時(shí)間、發(fā)帖人等信息,方便用戶快速的找到自己想要的信息。根據(jù)BBS系統(tǒng)功能分析和論壇管理的特點(diǎn),需要設(shè)計(jì)BBS論壇的后臺(tái)管理系,其主要功能模塊如圖4-2所示。論壇后臺(tái)管理系統(tǒng)主題帖子管理管理員信息管理版塊管理版主信息管理版主管理可以查看管理員自己的信息,可以新增管理員,可以修改管理員的資料,還可以刪除管理員??梢园粗黝}帖子序號(hào),主題名,發(fā)表的話題進(jìn)行看帖,修改帖子和刪除帖子操作。可以根據(jù)版塊要求的不同,添加這一版塊的版主負(fù)責(zé)管理此版塊。根據(jù)版塊的分類,這一版主可以添加其版塊下的子分類,或者修改原有的子分類。可以查看版主自己的信息,可以修改版主的信息資料。管理員管理管理員管理版主管理圖 4-2 BBS論壇系統(tǒng)后臺(tái)功能模塊根據(jù)BBS論壇系統(tǒng)后臺(tái)的模塊圖可以得到系統(tǒng)的具體功能:一 管理員管理: 管理員信息管理功能:管理員輸入正確用戶名、密碼之后便可以進(jìn)入到后臺(tái)管理系統(tǒng)。管理員可以查看自己的信息,可以添加管理員,可以修改管理員的資料,還可以刪除管理員。 主題帖子管理功能:管理員可以對(duì)用戶發(fā)表的帖子進(jìn)行管理,管理員可以按主題帖子序號(hào),主題名,發(fā)表的話題進(jìn)行看帖,修改帖子和刪除帖子等操作。 版主管理功能:管理員可以根據(jù)版塊具體要求的不同,添加這一版塊的版主負(fù)責(zé)管理此版塊。來(lái)分擔(dān)管理員的管理論壇的工作,可以更好的為廣大用戶服務(wù)。二 版主管理: 版塊管理功能:只有版主輸入正確用戶名、密碼之后便可以進(jìn)入到版主后臺(tái)管理。版主根據(jù)版塊的分類,可以添加其版塊下的子分類,或者修改原有版塊下子分類的名稱,子分類的描述介紹。 版主信息管理功能:可以查看版主自己的信息,可以修改版主的信息資料。4.2 數(shù)據(jù)庫(kù)設(shè)計(jì)該系統(tǒng)采用MySQL作為后臺(tái)數(shù)據(jù)庫(kù)去存儲(chǔ)所有與系統(tǒng)相關(guān)的數(shù)據(jù)。這些數(shù)據(jù)表包括用戶表(userinfo)、主題帖子表(topicinfo)、回復(fù)帖子表(replyinfo)、版塊表(foruminfo)以及管理員表(admininfo)。數(shù)據(jù)模型的最終目的就是規(guī)劃能夠有效地處理事務(wù),并且保持應(yīng)用開發(fā)的簡(jiǎn)潔性的關(guān)系數(shù)據(jù)庫(kù),并在數(shù)據(jù)庫(kù)的規(guī)范化、性能優(yōu)化以及數(shù)據(jù)的簡(jiǎn)潔性之間達(dá)到平衡。4.2.1 E-R圖分析4.2.1.1 ER模型E-R模型是對(duì)現(xiàn)實(shí)世界的一種抽象。它的主要成分是實(shí)體、聯(lián)系和屬性。使用這三種成分,我們可以建立許多應(yīng)用環(huán)境的ER模型。本系統(tǒng)的實(shí)體和屬性的定義如下:用戶表(用戶ID、用戶密碼、用戶昵稱、用戶電子郵箱、用戶級(jí)別、用戶留言、用戶自述、用戶權(quán)限)主題帖子表(主題帖子編號(hào)、主題帖子標(biāo)題、主題帖子作者、帖子內(nèi)容、發(fā)表帖子的時(shí)間、回復(fù)數(shù)、所屬版塊號(hào)、主題類型)回復(fù)帖子表(回復(fù)編號(hào)、回復(fù)帖子編號(hào)、回復(fù)作者、回復(fù)帖子時(shí)間、回復(fù)內(nèi)容)版塊表(版塊編號(hào)、版塊名稱、版塊類型、子版塊編號(hào)、版主、主題數(shù)、文章數(shù)、版塊描述)管理員表(管理員ID、管理員密碼、管理員電子郵箱、管理員自述、注冊(cè)時(shí)間、管理員留言、管理員權(quán)限)具體實(shí)體屬性的關(guān)系圖:用戶用戶留言級(jí)別用戶郵箱用戶ID密碼昵稱用戶權(quán)限用戶自述圖 4-3 用戶信息實(shí)體圖主題帖子發(fā)表帖子時(shí)間回復(fù)數(shù)帖子內(nèi)容帖子編號(hào)標(biāo)題作者主題類型所屬版塊號(hào)圖 4-4 主題帖子信息實(shí)體圖回復(fù)帖子回復(fù)編號(hào)回復(fù)帖子編號(hào)回復(fù)內(nèi)容回復(fù)帖子時(shí)間回復(fù)作者圖 4-5 回復(fù)帖子信息實(shí)體圖版塊版塊描述版主主題數(shù)版塊編號(hào)版塊名稱版塊類型文章數(shù)子版塊編號(hào)圖 4-6 版塊信息實(shí)體圖管理員留言注冊(cè)時(shí)間管理員自述管理員ID密碼郵箱管理員權(quán)限圖 4-7 管理員信息實(shí)體圖4.2.1.2 聯(lián)系定義ER模型的“聯(lián)系”用于刻畫實(shí)體之間的關(guān)聯(lián)。一種完整的方式是對(duì)局部結(jié)構(gòu)中任意兩個(gè)實(shí)體類型,依據(jù)需求分析的結(jié)果,考察局部結(jié)構(gòu)中任意兩個(gè)實(shí)體類型之間是否存在聯(lián)系。若有聯(lián)系,進(jìn)一步確定是1:N,M:N,還是1:1等。還要考察一個(gè)實(shí)體類型內(nèi)部是否存在聯(lián)系,兩個(gè)實(shí)體類型之間是否存在聯(lián)系,多個(gè)實(shí)體類型之間是否存在聯(lián)系,等等。本系統(tǒng)的ER模型如圖4-8所示:版塊mmnm1n1用戶所屬n主題帖子管理員回復(fù)帖子管理對(duì)應(yīng)瀏覽圖 4-8 ER模型圖4.2.2 數(shù)據(jù)表設(shè)計(jì)在這個(gè)數(shù)據(jù)庫(kù)管理系統(tǒng)中要建立5張數(shù)據(jù)表,包括用戶表(userinfo)、主題帖子表(topicinfo)、回復(fù)帖子表(replyinfo)、版塊表(foruminfo)以及管理員表(admininfo)。在剛剛建立的hello2數(shù)據(jù)庫(kù)節(jié)點(diǎn)下的“表”節(jié)點(diǎn)右擊,在彈出的快捷菜單中選擇“新增資料表”命令,就可以開始新建各個(gè)數(shù)據(jù)表。這5張數(shù)據(jù)表的各個(gè)字段意義如下所示。4.2.2.1      回復(fù)帖子表(replyinfo)字段名數(shù)據(jù)類型字段大小說(shuō)明idint11回復(fù)編號(hào)(主鍵)topicidint11主題號(hào)(外鍵)replyuseridvarchar20回復(fù)者(外鍵)replytimedatetime0 回復(fù)時(shí)間replycontentvarchar300 回復(fù)內(nèi)容表4-1 回復(fù)帖子表4.2.2.2      主題帖子表(topicinfo)字段名數(shù)據(jù)類型字段大小說(shuō)明topicidint11主題編號(hào)(主鍵)topictitlevarchar60標(biāo)題topicuseridvarchar20發(fā)帖人(外鍵)topiccontentvarchar 300 發(fā)帖內(nèi)容topictimedatetime 0 發(fā)帖時(shí)間replynumint 10回復(fù)數(shù) forumidint 10 版塊號(hào)(外鍵)groupidint2主題類型表4-2 主題帖子表4.2.2.3     版塊表(foruminfo)字段名數(shù)據(jù)類型字段大小說(shuō)明midint10版塊編號(hào)(主鍵)namevarchar80版塊名isparentint 2 版塊是否分類sortidint 3 子版塊號(hào)adminauthorvarchar60版主totaltopicint10主題數(shù)totalpostint11文章數(shù)descriptionvarchar160版塊描述表4-3 版塊表4.2.2.4   管理員表(admininfo)字段名數(shù)據(jù)類型字段大小說(shuō)明admnamevarchar20管理員ID(主鍵)admpwdvarchar20密碼admemailvarchar50 郵箱admstatevarchar50 自述admtimedatetime0注冊(cè)時(shí)間admsayvarchar150留言admrightint10權(quán)限表4-4 管理員信息表4.2.2.5    用戶表(userinfo)字段名數(shù)據(jù)類型字段大小說(shuō)明useridvarchar20用戶名(主鍵)userpwdvarchar20 密碼usernamevarchar30 昵稱useremailvarchar50 郵箱userlevelint20 級(jí)別usersayvarchar150留言u(píng)serstatevarchar20自述rightint10權(quán)限表4-5 用戶信息表4.3系統(tǒng)流程圖用戶登錄是否登陸回復(fù)帖子管理員管理搜索主貼帖子管理版主管理主界面是否主頁(yè)面注冊(cè)后臺(tái)管理發(fā)表新帖添加管理員修改管理員資料刪除管理員修改帖子查看帖子刪除帖子添加版主修改版主資料添加版塊圖 4-9 主要功能流程圖各模塊功能解釋如下:用戶登錄模塊:新用戶注冊(cè)成功之后,在登錄界面輸入注冊(cè)時(shí)填寫的正確用戶名、密碼之后,再輸入出現(xiàn)的驗(yàn)證碼之后便可以進(jìn)入本系統(tǒng)。如果用戶名和密碼正確,但是輸入的驗(yàn)證碼錯(cuò)誤,則不允許進(jìn)入本系統(tǒng),跳轉(zhuǎn)到登錄界面重新輸入。 用戶注冊(cè)模塊:建立賬號(hào),如果游客以前沒(méi)有建立賬號(hào),則只可以瀏覽論壇的主題話題但是不可以發(fā)表新話題和回復(fù)有關(guān)帖子,只有當(dāng)游客在本論壇注冊(cè)成為論壇的用戶后,才能進(jìn)行相關(guān)操作。同時(shí)在用戶創(chuàng)建新賬號(hào)的時(shí)候,必須輸入用戶名(系統(tǒng)會(huì)在提交時(shí)檢查該用戶名是否已存在) 。用戶在建立新賬號(hào)之后就可以具有合法登錄系統(tǒng)的身份,可以進(jìn)行相關(guān)的操作。用戶信息資料管理模塊:在用戶登錄成功之后,可以修改用戶自己的信息,進(jìn)一步完善用戶自己的資料和修改注冊(cè)時(shí)用戶填寫的資料。主題帖子模塊:為了方便信息交流,首先帖子主題類型分為精華主題(紅色)和普通主題(黑色),用戶可以根據(jù)需要游覽自己感興趣的帖子,獲得所需信息。用戶可以發(fā)表話題,還可以根據(jù)帖子主題瀏覽帖子內(nèi)容和回復(fù)帖子。查詢模塊:用戶只要輸入想查詢的用戶ID,點(diǎn)擊查詢按鈕,便可以查詢出該用戶發(fā)表的所有帖子以及該用戶發(fā)表的帖子序號(hào)、標(biāo)題、發(fā)帖的時(shí)間、發(fā)帖人等詳細(xì)信息,方便用戶快速的找到自己想要的信息。管理員信息管理模塊:管理員輸入正確用戶名、密碼之后便可以進(jìn)入到后臺(tái)管理系統(tǒng)。管理員可以查看自己的信息,可以添加管理員,可以修改管理員的資料,還可以刪除管理員。主題帖子管理模塊:管理員可以對(duì)用戶發(fā)表的帖子進(jìn)行管理,管理員可以按主題帖子序號(hào),主題名,發(fā)表的話題進(jìn)行看帖,修改帖子和刪除帖子等操作。 版主管理模塊:管理員可以根據(jù)版塊具體要求的不同,添加這一版塊的版主負(fù)責(zé)管理此版塊,來(lái)分擔(dān)管理員的管理論壇的工作,可以更好的為廣大用戶服務(wù)。版主還可以修改自己的資料,添加本版塊的子版塊。5 詳細(xì)設(shè)計(jì)5.1 用戶登錄模塊當(dāng)游客注冊(cè)成為本BBS論壇系統(tǒng)的用戶后,便跳轉(zhuǎn)到系統(tǒng)登錄界面,在系統(tǒng)登錄界面(圖5-1所示)輸入正確用戶名、密碼和驗(yàn)證碼之后便可以進(jìn)入本系統(tǒng)。圖 5-1 用戶登陸界面驗(yàn)證用戶登陸的代碼如下:private 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;public 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+"'" rs=stmt.executeQuery(sql);if(rs.next() b=true; catch (Exception e) / TODO: handle exceptione.printStackTrace();finallythis.close();returnb;5.2 用戶注冊(cè)模塊設(shè)計(jì)游客如果要在本BBS論壇系統(tǒng)發(fā)表帖子和回復(fù)帖子,游客必須在本論壇注冊(cè)成為論壇的用戶后,才能進(jìn)行相關(guān)操作。系統(tǒng)注冊(cè)界面(圖5-2所示)圖 5-2 用戶注冊(cè)界面驗(yàn)證用戶注冊(cè)是否成功代碼如下: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()tryClass.forName("org.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("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+"','"+userEmail+"','"+userLevel+"','"+userSay+"',0)" stmt.executeUpdate(insert); return 0; /0 是代表注冊(cè)成功catch (Exception e) / TODO Auto-generated catch blockSystem.err.println(e.getMessage();System.err.println("fail");return -2;/-2 是代表注冊(cè)失敗5.3 帖子主題模塊設(shè)計(jì)帖子主題界面(圖5-3所示),帖子主題類型分為精華主題(紅色)和普通主題(黑色),用戶可以根據(jù)需要游覽自己感興趣的帖子,獲得所需信息。用戶可以發(fā)表話題,還可以根據(jù)帖子主題瀏覽帖子內(nèi)容和回復(fù)帖子,以及根據(jù)用戶ID查詢主題帖子。圖 5-3 帖子主題界面帖子精華主題代碼如下:<% ResultSet rs;String sql="select * from topicinfo where forumid='"+forumid+"' and groupid=1 "rs=databean.executeQuery(sql);%><%while(rs.next()out.print("<tr>");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; Statement 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()%> <TR class="tr3 f_one" onMouseOver="this.className='tr3 f_two'" onmouseout="this.className='tr3 f_one'"> <td><a href="kantie.jsp?userid=<%=userid%>&topicid=<%=topicid%>" ><img src="./images/topichot.gif"></a></td> <TD class="icon tac" width="142"><%=rs.getString("topicid")%></TD> <TH><H2><a href="kantie.jsp?userid=<%=userid%>&topicid=<%=topicid%>"> <FONT color=red><%=rs.getString("topictitle")%></a></H2></TH> <TD class="tal y-style"><SPAN class=f10><center><%=rs.getString("topicuserid")%></center></SPAN><BR></TD> <TD class="tal y-style"><SPAN class=f10><center><%=rs.getInt("replynum")%></center></SPAN><BR></TD><TH><A class=a2 href="kantie.jsp?userid=<%=userid%>&topicid=<%=topicid%>"><%=rs2.getString("replycontent")%> </A><BR><SPAN class=f12>By:<%=rs2.getString("replyuserid")%> </SPAN> <SPAN class="f9 gray"> <%=rs2.getString("replytime")%> </SPAN> &nbsp;</TH> <TD class=y-style style="WORD-BREAK: keep-all"><center><a href="kantie.jsp?userid=<%=userid%>&topicid=<%=topicid%>" >看帖</a> </center></TD></TR> <TR><TD style="HEIGHT: 8px"></TD></TR><%else%><TR class="tr3 f_one" onMouseOver="this.className='tr3 f_two'" onmouseout="this.className='tr3 f_one'"> <td><a href="kantie.jsp?userid=<%=userid%>&topicid=<%=topicid%>" ><img src="./images/topichot.gif"></a></td> <TD class="icon tac" width="142"><%=rs.getString("topicid")%></TD> <TH><A href=" target=_blank></A> <H2><a href="kantie.jsp?userid=<%=userid%>&topicid=<%=topicid%>"><%=rs.getString("topictitle")%></a></H2></TH> <TD class="tal y-style"><SPAN class=f10><center><%=rs.getString("topicuserid")%></center></SPAN><BR></TD> <TD class="tal y-style"><SPAN class=f10><center><%=rs.getInt("replynum")%></center></SPAN><BR></TD><TH>無(wú)</A><BR><SPAN class=f12>By:無(wú)</SPAN> </TH> <TD class=y-style style="WORD-BREAK: keep-all"><center><a href="kantie.jsp?userid=<%=userid%>&topicid=<%=topicid%>" >看帖</a> </center></TD></TR><TR><TD style="HEIGHT: 8px"></TD></TR><script language="javascript">alert("請(qǐng)盡快回復(fù)!");</script><% %><tr ><td height="25" colspan="2" ></td><td width="369"></td><td width="142"></td><td width="171"></td><td></td><td></td></tr><% %></TBODY></TABLE></DIV>5.4 瀏覽帖子模塊設(shè)計(jì)用戶根據(jù)回復(fù)帖子的ID,可以查看該主題帖子的所有用戶的回復(fù)內(nèi)容,并可以根據(jù)該主題帖子添加自己的回復(fù)內(nèi)容。瀏覽帖子的界面(圖5-4所示)。圖 5-4 瀏覽帖子界面顯示所有回復(fù)帖子代碼如下:<%Class.forName("org.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("select * from topicinfo a,userinfo b where topicid='"+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("<tr><td class=h ><h3>討論的話題:"+ttitle+"</h3><br><p><h5>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;內(nèi)容:"+content+"</h5><br>"+"<p>樓主:"+tuserid+"<br>"+"<p>個(gè)性簽名:*"+tsay+"</td></tr><tr bgcolor='#FFFFFF'><td width='100%' height='25' colspan='2' ></td></tr>");%></td></tr></table><table width="99%" border="1" align="center" cellpadding="2" bordercolor="#C0C0C0" bordercolorlight="#c0c0c0" bordercolordark="#FFFFFF" bgcolor="#EEEEEE"><tr height="5" ></tr><%Class.forName("org.gjt.mm.mysql.Driver").newInstance(); String urll ="jdbc:mysql:/localhost/hello2?user=root&password=123456" Connection conn=null; 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; 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("<tr><td class=h>回復(fù):"+rcontent+"<br><p>回帖的時(shí)間:"+rtime+"<br><p>"+String.valueOf(i)+"<font color='#3333CC'>樓:"+ruserid+"<br><p><font color='#999999'> 個(gè)性簽名:"+rsay+"</font>"); out.println("<SPAN style='FLOAT: right'><A title=頂端 href='javascript:scroll(0,0)'>頂端</A></SPAN></td></tr>"); out.println("<tr class=tr2><td height='25' ></td></tr>"); %>5.5 發(fā)表帖子模塊設(shè)計(jì)用戶點(diǎn)擊發(fā)表帖子按鈕便進(jìn)入了發(fā)表帖子界面,用戶可以選擇發(fā)表帖子的主題類型,用戶填寫要發(fā)表主題帖子的標(biāo)題和內(nèi)容。發(fā)表帖子的界面(圖5-5所示)。圖 5-5 發(fā)表帖子界面發(fā)表帖子界面設(shè)計(jì)代碼如下:<form name="pform" method="post" onSubmit="return CheckForm()" action="pissuetopic.jsp" > <div class=tr2 > <h5 ><a name="#">發(fā)帖說(shuō)明</a></h5> <div> 請(qǐng)自覺遵守發(fā)帖規(guī)則,不要發(fā)表不良信息. </div> </div> <br /><br /><hr /><br /><table width="100%" border="1" align="center" cellpadding="2" bordercolor="#c0c0c0" bordercolorlight="#c0c0c0" bordercolordark="#FFFFFF" bgcolor="#EEEEEE"><tr bgcolor="#FFFFFF"><td><a href="#"> 發(fā)表新貼 </a></td><td><br /></td></tr><tr class=h><td align="center" >標(biāo)題:*</td><td> <select name="type"> <option value="0" selected="true">主題類型</option> <option value="1">精華主題</option> <option value="0">普通主題</option> </select><input type="text" name="ptitle" style="width:60%" /></td></tr> <tr bgcolor="#FFFFFF" ><td width="30%" height="25" ></td><td></td></tr><tr class=h><td align="center">發(fā)帖心情: *</td><td height="30" align="center" valign="middle">內(nèi)容:*</td><td><textarea name="pcontent" style="width:98%" rows="8"></textarea></td></tr><tr bgcolor="#FFFFFF"><td> &nbsp;&nbsp;</td><td align="center"><input name="Submit" type="submit" value="提 交" > &nbsp;&nbsp; <input name=

注意事項(xiàng)

本文(BBS論壇系統(tǒng) 畢業(yè)論文 完整 畢業(yè)設(shè)計(jì) 定稿)為本站會(huì)員(小****)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

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

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


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