版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 本科生畢業(yè)論文(設(shè)計(jì))</p><p> 題目(中文): 基于JSP的BBS論壇管理系統(tǒng) </p><p> ?。ㄓ⑽模?BBS Forum Management System </p><p> Based on Jsp </p><p><b> 目 錄</b
2、></p><p><b> 摘 要1</b></p><p><b> 關(guān)鍵詞1</b></p><p> Abstract1</p><p> Keywords1</p><p><b> 前 言2</b></p>
3、;<p> 1 系統(tǒng)技術(shù)及運(yùn)行環(huán)境3</p><p> 1.1 JSP技術(shù)簡介3</p><p> 1.2 javabean技術(shù)簡介4</p><p> 1.3 JDBC技術(shù)簡介4</p><p> 1.4 TOMCAT技術(shù)簡介5</p><p><b> 1.5運(yùn)行環(huán)境
4、5</b></p><p><b> 2 需求分析6</b></p><p> 2.1 編寫目的6</p><p> 2.2 任務(wù)目標(biāo)6</p><p> 2.2.1基本性能6</p><p> 2.2.2開發(fā)目標(biāo)7</p><p> 2.
5、2.3 應(yīng)用目標(biāo)7</p><p> 2.3選擇編程語言7</p><p> 2.3.1 JSP與ASP的比較7</p><p> 2.3.2 JSP的特點(diǎn)與優(yōu)點(diǎn)8</p><p><b> 3系統(tǒng)設(shè)計(jì)10</b></p><p> 3.1系統(tǒng)設(shè)計(jì)思想10</p>
6、<p> 3.1.1 網(wǎng)上論壇系統(tǒng)說明10</p><p> 3.1.2 網(wǎng)上論壇系統(tǒng)總體分析10</p><p> 3.2 數(shù)據(jù)庫設(shè)計(jì)思想11</p><p> 3.3 各單元模塊設(shè)計(jì)12</p><p> 3.3.1用戶注冊登陸功能12</p><p> 3.3.2會員發(fā)貼與回復(fù)
7、功能13</p><p> 3.3.3管理員管理帖子與用戶管理功能15</p><p><b> 4 編碼實(shí)現(xiàn)16</b></p><p> 4.1 功能總體說明16</p><p> 4.1.1 功能總體說明16</p><p> 4.1.2主要功能流程17</p&g
8、t;<p> 4.2各個功能模塊的實(shí)現(xiàn)17</p><p> 4.2.1數(shù)據(jù)庫的連接17</p><p> 4.2.2用戶登陸與注冊模塊的實(shí)現(xiàn)18</p><p> 4.2.3分頁顯示的功能實(shí)現(xiàn)23</p><p> 4.2.4 發(fā)表與回復(fù)功能模塊實(shí)現(xiàn)24</p><p> 4.2.
9、5后臺管理模塊的實(shí)現(xiàn)27</p><p><b> 5 系統(tǒng)測試30</b></p><p><b> 總 結(jié)31</b></p><p><b> 參考文獻(xiàn)33</b></p><p><b> 致 謝33</b></p>
10、<p> 基于JSP的BBS論壇管理系統(tǒng)</p><p><b> 摘 要</b></p><p> 為了方便信息的交流,在結(jié)合動態(tài)服務(wù)網(wǎng)頁(JSP)和MYSQL 技術(shù)之下開發(fā)了這個快截、界面友好的網(wǎng)上交流系統(tǒng)。論壇使用動態(tài)服務(wù)網(wǎng)頁(JSP)技術(shù)建設(shè)論壇的骨干框架,使用MYSQL制作系統(tǒng)的數(shù)據(jù)庫,實(shí)現(xiàn)了一個功能相對齊全的論壇系統(tǒng),網(wǎng)友可以自由地提出問
11、題以及幫助他人解決問題,或者交流經(jīng)驗(yàn)。 該論壇功能較齊全,在這里可以自由地發(fā)表自己的觀點(diǎn)和對論壇的主題發(fā)表意見,我們還可以對網(wǎng)友的問題及時地解決,獲取對自己有用的知識。該論壇還有一些特殊的功能,強(qiáng)大的搜索功能等。</p><p><b> 前 言</b></p><p> 目前的社會是一個信息飛速發(fā)展的社會,為了順應(yīng)這個時代的潮流,互聯(lián)網(wǎng)就隨之出現(xiàn)了,在信
12、息的交流和傳遞中,互聯(lián)網(wǎng)占據(jù)著一個非常重要的位置。我們的日常生活已經(jīng)和互聯(lián)網(wǎng)息息相關(guān)了,離開互聯(lián)網(wǎng)的生活,就像與世隔絕一樣。人們通過互聯(lián)網(wǎng)查看新聞,獲得最新的消息,通過互聯(lián)網(wǎng)進(jìn)行交流、傳遞信息。隨著互聯(lián)網(wǎng)應(yīng)用的增多,論壇系統(tǒng)也就產(chǎn)生了,成為大家進(jìn)行信息交流的一個重要的渠道,論壇系統(tǒng)有很大的優(yōu)勢:信息傳遞及時、信息交流方便、利于互動等。</p><p><b> 論壇也就是</b></
13、p><p> 現(xiàn)今的社會是一個信息飛速發(fā)達(dá)的社會,在信息的交流和傳遞當(dāng)中,互聯(lián)網(wǎng)占據(jù)著一個非常重要的位置。人們可以通過互聯(lián)網(wǎng)查看最新的消息,也可以通過互聯(lián)網(wǎng)進(jìn)行信息的交流。而論壇就是大家進(jìn)行信息交流的其中一個渠道。它具有信息傳遞及時,信息交流方便,利于互動的優(yōu)點(diǎn)!論壇的概念:論壇(BBS)是Bulletin-Board-System的縮寫,即電子公告欄。它是一種在Internet網(wǎng)上開放的信息服務(wù)系統(tǒng),通過論壇用戶
14、在論壇中可以發(fā)布信息,進(jìn)行討論,聊天,共享文件等等。BBS多用于大型公司或中小型企業(yè),開放給客戶交流的平臺。對于初識網(wǎng)絡(luò)的新人來講,BBS - 就是用于在網(wǎng)絡(luò)上交流的地方,可以發(fā)表一個主題,讓大家一起來探討,也可以提出一個問題,大家一起來解決,可以上傳資源供大家分享等。在論壇里,人們之間的交流打破了空間,時間的限制。在與別人進(jìn)行交往時,無須考慮自身的年齡,學(xué)歷,知識,社會地位,財富,外貌,健康狀況,也無從知道交談的對方的真實(shí)社會身份。這
15、樣,參與討論的人可以處于一個平等的位置與其他人進(jìn)行任何問題的探討。論壇往往是由一些有志于此道的愛好者建立,對所有人都免費(fèi)開放。而且,由于BBS的參與人眾多,</p><p> 1 系統(tǒng)技術(shù)及運(yùn)行環(huán)境</p><p> 1.1 JSP技術(shù)簡介</p><p> JSP是服務(wù)器端的腳本語言,是以SERVLET為基礎(chǔ)開發(fā)而成的動態(tài)網(wǎng)頁生成技術(shù),它的底層實(shí)現(xiàn)是JAVA
16、 SERVLET。</p><p> JSP(JAVA SERVER PAGES)由HTML代碼和潛入其中的JAVA代碼所組成。服務(wù)器在頁面被客戶端請求以后對這些代碼進(jìn)行處理,然后將生產(chǎn)的HTML頁面返回客戶端的瀏覽器</p><p> JSP的特點(diǎn)是面向?qū)ο蟆?跨平臺、 和SERVLET一樣穩(wěn)定、 可以使用SERVLET提供的API,同時克服了SERVLET的缺點(diǎn)。</p>
17、;<p> 在使用JSP時一般和javabeanS結(jié)合使用,從而將界面表現(xiàn)和業(yè)務(wù)邏輯分離。</p><p> 1.2 javabean技術(shù)簡介</p><p> javabean是基于JAVA的組建模型,有點(diǎn)類似于microsof的COM組建。</p><p> 在JAVA平臺中,可以無限擴(kuò)充JAVA程序的功能,通過javabean的組合可以快
18、速生產(chǎn)新的應(yīng)用程序。</p><p> 對于程序員來說,最好的一點(diǎn)就是javabean可以實(shí)現(xiàn)代碼的重復(fù)利用,另外對于程序的易維護(hù)性等等也有很重大的意義。</p><p> javabean 通過JAVA虛擬機(jī)(java virtual machine)執(zhí)行,運(yùn)行javabean最小的需求是JDK1.1或者以上的版本。</p><p> javabean傳統(tǒng)的
19、應(yīng)用在于可視化的領(lǐng)域,如AWT下的應(yīng)用。自從JSP誕生后,javabean更多的應(yīng)用在了非可視化領(lǐng)域,在服務(wù)器端應(yīng)用方面表現(xiàn)出了越來越強(qiáng)的生命力。</p><p> 1.3 JDBC技術(shù)簡介</p><p> JDBC是一組API,定義了用來訪問數(shù)據(jù)庫源的標(biāo)準(zhǔn)JAVA類庫,使用這種類庫可以使用一種標(biāo)準(zhǔn)的方法、方便地訪問數(shù)據(jù)庫資源。</p><p> JDBC的
20、目標(biāo)是使應(yīng)用程序開發(fā)人員使用JDBC可以連接任何提供了JDBC驅(qū)動程序的數(shù)據(jù)庫系統(tǒng),這樣就使得程序員無須對特定的數(shù)據(jù)庫的特點(diǎn)有過多的了解,從而大大簡化了和加快了開發(fā)過程。</p><p> JDBC API 為訪問不同的數(shù)據(jù)庫提供了一種統(tǒng)一途徑,像ODBC一樣,JDBC為開發(fā)者屏蔽了一些細(xì)節(jié)問題。</p><p> 另外,JDBC對數(shù)據(jù)庫的訪問也具有平臺無關(guān)性。</p>
21、<p> 1.4 TOMCAT技術(shù)簡介</p><p> 在已JAVA技術(shù)為的WEB開發(fā)領(lǐng)域中,TAMCAT是許多JAVA程序員相當(dāng)喜愛的開放源代碼產(chǎn)品,它附屬在APACHE SOFTWARE FOUNDATION 所主導(dǎo)的JAKART項(xiàng)目內(nèi)。由于TAMCT是SERVLET與JSP技術(shù)的參考實(shí)現(xiàn)(REFERNCE IMPLEMENTATION),</p><p> 所以它
22、不但可以當(dāng)作獨(dú)立的WEB服務(wù)器,也可以結(jié)合其它的WEB服務(wù)器,只擔(dān)任SERVLET容器或JSP容器的角色。</p><p><b> 1.5運(yùn)行環(huán)境</b></p><p> 為了保證BBS論壇管理系統(tǒng)運(yùn)行的高效性和可靠性,服務(wù)器應(yīng)具有較高的軟硬件配置,客戶端的要求不是很高。此應(yīng)用程序可廣泛運(yùn)行于國際互聯(lián)網(wǎng)即Internet,也可適用于內(nèi)部的局域網(wǎng)。其運(yùn)行要求如下
23、:軟件環(huán)境:客戶端: Windows95/98/2000/XP,Internet Explorer(IE)等。</p><p> 服務(wù)器端:Windows NT/Windows2000,Tomcat 5.0,JDK 1.5及其以上版本,IE等;</p><p> 數(shù)據(jù)庫:采用MYSQL,運(yùn)行于服務(wù)器端。硬件環(huán)境:服務(wù)器 CPU:PIII 500以上 ,內(nèi)存:512M以上??蛻?/p>
24、機(jī) CPU:P200MMX以上,內(nèi)存:32M以上。</p><p><b> 2 需求分析</b></p><p><b> 2.1 編寫目的</b></p><p> 當(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)
25、頁就可進(jìn)行論壇留言。論壇對象是很多的,各個層次都可進(jìn)行論壇訪問,大至國家領(lǐng)導(dǎo),小至一個普通干部,訪問和留言從到指定用戶進(jìn)行表格到現(xiàn)在通過網(wǎng)絡(luò)直接點(diǎn)擊相應(yīng)就可進(jìn)行。網(wǎng)上論壇管理系統(tǒng)可解決游客訪問及留言,致使現(xiàn)在幾乎各個網(wǎng)站都有各種類型網(wǎng)站論壇管理系統(tǒng),用戶可選擇自己的看法。所以我提出了本課題的研究。</p><p><b> 2.2 任務(wù)目標(biāo)</b></p><p>
26、<b> 2.2.1基本性能</b></p><p> 系統(tǒng)包括主要的功能:新用戶的注冊,會員登錄,管理員刪除用戶,管理員刪除帖子和修改帖子,查詢主題,和查詢用戶這些功能,游客瀏覽留言,會員新增主題,會員留言回復(fù),查詢主題這些功能,可以滿足一般的用戶需要。</p><p><b> 2.2.2開發(fā)目標(biāo)</b></p><
27、p> 這個系統(tǒng)預(yù)期的目的是為了做成交互式的網(wǎng)頁,方便客戶端和瀏覽器端之間的交流。通過論壇,人們能夠相互交流溝通,把疑惑在論壇里公布,大家獻(xiàn)計(jì)獻(xiàn)策,共同學(xué)習(xí),共同進(jìn)步。</p><p> 2.2.3 應(yīng)用目標(biāo)</p><p> 網(wǎng)上論壇系統(tǒng)是一個會員登錄留言系統(tǒng)。網(wǎng)上游客能夠?yàn)g覽論壇上的帖子,并且能夠注冊成為用戶。論壇注冊會員能夠發(fā)表帖子,讓大家積極參與討論。論壇管理員能夠便于管
28、理論壇,包括瀏覽游客留言,審核留言,對于不健康或是不利于社會穩(wěn)定的留言能進(jìn)行刪除操作。</p><p><b> 2.3選擇編程語言</b></p><p> 2.3.1 JSP與ASP的比較</p><p> 總的來講Java Server Page(JSP)技術(shù)和Microsoft 公司提供的Active Server Pages(A
29、SP)技術(shù)在技術(shù)方面有許多相似之處:兩者都是基于WEB應(yīng)用實(shí)現(xiàn)動態(tài)交互網(wǎng)頁制作提供技術(shù)環(huán)境支持。兩者都能為程序開發(fā)人員提供實(shí)現(xiàn)應(yīng)用程序的編制與自帶組建設(shè)計(jì)網(wǎng)頁從邏輯上分離的技術(shù)。而且兩者都能替代CGI使網(wǎng)站建設(shè)與發(fā)展變得較為簡單與快捷。</p><p><b> 1).相同之處 </b></p><p> 都是運(yùn)行于服務(wù)器端的腳本語言,兩者都是動態(tài)網(wǎng)頁生成技術(shù),這
30、兩項(xiàng)技術(shù)都是由HTML來決定網(wǎng)頁的版面,都是在HTML代碼中混合某種代碼,有語言引擎解釋執(zhí)行程序代碼。HTML主要負(fù)責(zé)描述信息的顯示樣式,而程序代碼則用來描述處理邏輯。</p><p><b> 2).不同之處</b></p><p> JSP是由SUN公司推出的一項(xiàng)技術(shù),是基于JavaServlet 以及整個JAVA體系的WEB開發(fā)技術(shù),利用這項(xiàng)技術(shù)可以建立先進(jìn)
31、、安全和跨平臺的動態(tài)網(wǎng)站。ASP是MS公司推出的技術(shù)只能在MS的平臺上運(yùn)行,無法實(shí)現(xiàn)跨平臺,也無安全性保障。</p><p> ASP下的編輯語言是VBScript 之類的腳本語言,而JSP使用的是JAVA。</p><p> ASP與JSP還有一個更為本質(zhì)的區(qū)別:兩種語言引擎用完全不一樣的方式來處理也面中潛入的程序代碼。在ASP下,VBScript代碼被ASP引擎解釋執(zhí)行。在JSP中
32、,代碼被編譯生產(chǎn)Servlet并有JAVA虛禮機(jī)執(zhí)行,這種也面僅在對JSP也面的第一次請求時發(fā)生。</p><p> 2.3.2 JSP的特點(diǎn)與優(yōu)點(diǎn)</p><p> 綜合而言,JSP技術(shù)具有下面的特點(diǎn):</p><p> 1)write once run anywhere</p><p> JSP技術(shù)繼承了JAVA先天性的先進(jìn)概念“
33、write once run anywhere”這種概念正越來越深遠(yuǎn)的影響著互連網(wǎng)行業(yè)的交互式、WEB設(shè)計(jì)的理念。JSP Pages 可以非常容易的開平臺跨WEB服務(wù)器軟件來是設(shè)計(jì)和開放源代碼。</p><p> 2)支持多種動態(tài)網(wǎng)頁格式</p><p> 目前對使用JSP技術(shù)設(shè)計(jì)出來的網(wǎng)頁應(yīng)該采取什么樣的格式還沒有一個明確的標(biāo)準(zhǔn)。一般來說JSP技術(shù)即可以支持HTML/DHTML的傳統(tǒng)
34、瀏覽器文件格式,又可以支持應(yīng)用與無線通訊設(shè)備例如移動電話、PDA等設(shè)備進(jìn)行網(wǎng)頁瀏覽器的VML文件格式,還可以支持其它一些B2B應(yīng)用的XML格式。與以往的其它WEB應(yīng)用技術(shù)相比較JSP技術(shù)有它很鮮明的特點(diǎn)。</p><p> 3)JSP 標(biāo)簽可擴(kuò)沖性</p><p> 盡管JSP與ASP都使用標(biāo)簽與腳本技術(shù)來制造動態(tài)WEB網(wǎng)頁,但是JSP技術(shù)能夠使開發(fā)者擴(kuò)展JSP標(biāo)簽,使得應(yīng)用JSP的開
35、發(fā)者能定制標(biāo)簽庫所以網(wǎng)頁制作者可以充分利用與XML兼容的標(biāo)簽技術(shù),大大減少了對腳本語言的依賴。由于指定標(biāo)簽庫技術(shù)使得網(wǎng)頁制作者降低了制作網(wǎng)頁和想多個網(wǎng)頁擴(kuò)充關(guān)鍵功能的復(fù)雜程度。</p><p> 4)JSP跨平臺的可重用性</p><p> JSP的開發(fā)人員在開發(fā)過程中一直關(guān)注可重用性,JSP足見、企業(yè)javabean或制定的標(biāo)簽都是跨平臺可重用的。企業(yè)javabean可以訪問傳統(tǒng)的數(shù)
36、據(jù)庫并能并能已分布式系統(tǒng)模式工作于UNIX和WINDOWS平臺,JSP標(biāo)簽可擴(kuò)充功能為開發(fā)人員提供簡便的與XML兼容的接口,即共享網(wǎng)頁的打包功能使其完全的工業(yè)標(biāo)準(zhǔn)化。這種基于組建的模式能夠有效的提高應(yīng)用程序的開發(fā)效率。因?yàn)檫@種模式能夠使開發(fā)人員利用快捷的子組建快速創(chuàng)建模板應(yīng)用程序。然后再整和一些附加功能將其打包成一個javabean組建。</p><p><b> 5)易于維護(hù)性</b>&
37、lt;/p><p> 基于JSP技術(shù)的應(yīng)用程序比基于ASP的應(yīng)用程序更易于維護(hù)和管理。腳本語言都很好服務(wù)于小的應(yīng)用程序但不能適宜大型的復(fù)雜的應(yīng)用程序,因?yàn)镴AVA是結(jié)構(gòu)化的,它比較比較容易創(chuàng)建和維護(hù)龐大的組建化的應(yīng)用程序。</p><p><b> 3系統(tǒng)設(shè)計(jì)</b></p><p> 3.1系統(tǒng)設(shè)計(jì)思想</p><p
38、> 3.1.1 網(wǎng)上論壇系統(tǒng)說明</p><p> 此網(wǎng)上論壇中三種不同角色游客、注冊用戶管理員分別可現(xiàn): 游 客:查看帖子、注冊新用戶。 注冊用戶:查看帖子、發(fā)新帖子、回復(fù)信息、查詢主帖。 管理員:帖子管理、用戶管理、數(shù)據(jù)庫管理。</p><p> 3.1.2 網(wǎng)上論壇系統(tǒng)總體分析&l
39、t;/p><p> 通過上面的功能說明,我們可以將論壇的制作分為四大部分:</p><p> ?。?) 會員注冊和登陸模塊:</p><p> 這個模塊的功能,就是新來網(wǎng)友可以填寫注冊資料 ,通過審核后便成為本論壇的正式會員,并可以以會員身份登陸論壇。</p><p> (2) 文章顯示模塊:</p><p> 顯
40、示所有會員最新發(fā)表的一些文章主題。</p><p> ?。?) 發(fā)表文章模塊:</p><p> 為會員提供發(fā)表文章的地方,以及回復(fù)主題等。</p><p> ?。?) 論壇與用戶管理模塊:</p><p> 版主以上職務(wù)可以進(jìn)行對文章和用戶進(jìn)行處理,查詢,修改,刪除等。了解了具體的功能需求后,就可以按模塊的開始論壇的設(shè)計(jì)了。當(dāng)然,這些模
41、塊的只是在功能上對論壇結(jié)構(gòu)的劃分,實(shí)際上并不能夠完全的把他們獨(dú)立出來進(jìn)行設(shè)計(jì)。對于這種較小的應(yīng)用,也沒有必要進(jìn)行完全的模塊化設(shè)計(jì),在良好的規(guī)劃下直接寫程序代碼或許來的更為簡單一些。</p><p> 3.2 數(shù)據(jù)庫設(shè)計(jì)思想</p><p> 在建設(shè)網(wǎng)站系統(tǒng)之前,我們必須對系統(tǒng)所用到的數(shù)據(jù)進(jìn)行大致的分類和具體的結(jié)構(gòu)設(shè)計(jì),既要做到清晰明了,又要能適應(yīng)系統(tǒng)各項(xiàng)功能的調(diào)用,而不至于產(chǎn)生結(jié)構(gòu)上的
42、邏輯混亂,保證關(guān)鍵數(shù)據(jù)在意外情況下不會被破壞,可以說數(shù)據(jù)庫是系統(tǒng)的重中之重。</p><p> 數(shù)據(jù)庫設(shè)計(jì)要遵循一些規(guī)則,一個好的數(shù)據(jù)庫滿足一些嚴(yán)格的約束和要求。盡量分離各實(shí)體對應(yīng)的表,一個實(shí)體對應(yīng)一個表,分析該實(shí)體有哪些屬性,對應(yīng)有些什么字段,以及各實(shí)體之間的聯(lián)系。實(shí)體、屬性與聯(lián)系是進(jìn)行概念設(shè)計(jì)時要考慮的三個元素,也是一個好的數(shù)據(jù)庫設(shè)計(jì)的核心。</p><p> 從實(shí)際出發(fā),經(jīng)過仔細(xì)
43、地設(shè)計(jì),得到各表的設(shè)計(jì)如表3.1——3.3所示。</p><p> 表3.1 帖子信息表article</p><p> 表3.2 用戶信息表user</p><p> 表3.3管理員信息表adminuse</p><p> 3.3 各單元模塊設(shè)計(jì)</p><p> 3.3.1用戶注冊登陸功能</p&g
44、t;<p> 此部分是實(shí)現(xiàn)用戶的注冊功能。通過填寫注冊資料,正確填寫后,點(diǎn)擊注冊按鈕后便可注冊成為正式的會員。如圖3.1</p><p><b> 圖3.1 注冊</b></p><p> 用戶資料填寫正確就可以注冊了。而且對其用正則表達(dá)式做了一些限制。用戶名只能是3-12位單字字符,而且不允許注冊重復(fù)的用戶名。性別只能選擇男或女其中一個。密碼最
45、多不能超過12位,兩次密碼必須輸入一致,否則不可以注冊。E-mail必須輸入有效的郵箱地址,以便日后能使用到論文的各種功能。只要用戶按照出現(xiàn)提示信息輸入進(jìn)去就可以了。用戶注冊成功后就可以使用會員所擁有的一切功能了。</p><p> 3.3.2會員發(fā)貼與回復(fù)功能</p><p> 此部分實(shí)現(xiàn)會員的發(fā)表新帖以及回帖等功能。</p><p> 發(fā)表帖子會員只針對會
46、員開放,如果想發(fā)表新的主題,必須登陸如果沒有賬號必須注冊以后便可直接點(diǎn)擊發(fā)表帖子按鈕。進(jìn)到發(fā)表帖子頁面后,首先要寫自己想發(fā)表的主題,然后填寫作者和正文。如果沒有登陸直接點(diǎn)擊發(fā)表主題,則會直接跳到用戶登陸頁面。</p><p> 發(fā)表主題如圖3.2所示:</p><p><b> 圖3.2 發(fā)表新貼</b></p><p> 回復(fù)主題界面
47、如圖 3.3所示:</p><p><b> 圖3.3 回復(fù)主題</b></p><p> 發(fā)表成功回到顯示主題頁面 再點(diǎn)擊主題會看到主題貼的相關(guān)內(nèi)容和回復(fù)內(nèi)容?;貜?fù)帖子只針對會員開放,游客不可以回復(fù)主題?;貜?fù)內(nèi)容比較全面,可有表情,也可以設(shè)置字體大小顏色,段落格式等。如果沒有登陸直接點(diǎn)擊回復(fù)則直接跳轉(zhuǎn)到登陸頁面。</p><p> 3.
48、3.3管理員管理帖子與用戶管理功能</p><p> 此部分主要是管理員對論壇的帖子和會員進(jìn)行綜合管理,刪除、編輯、查詢、等等。普通會員是不可以進(jìn)行此操作的。管理員登陸界面如圖3.4所示:</p><p> 圖3.4 管理員登陸</p><p> 首先用session判斷管理員是否登陸,如果沒有登陸直接在瀏覽器里面輸入管理界面的地址則不能對其內(nèi)容進(jìn)行操作。這樣
49、保證了數(shù)據(jù)的安全性。管理員登陸以后可以對有些文章內(nèi)容有地方不足時,可以對其進(jìn)行編輯修改,當(dāng)然對于不好的帖子或者就是灌水的帖子,嚴(yán)重的可以直接刪除了。帖子都是按照發(fā)表時間和回復(fù)時間排列的,時間最新的帖子則排在最前面,時間越舊的就越靠后面。</p><p> 如果登陸成功則進(jìn)入管理員管理頁面,如圖3.5所示:</p><p> 圖 3.5 后臺管理</p><p>
50、<b> 4 編碼實(shí)現(xiàn)</b></p><p> 4.1 功能總體說明</p><p> 4.1.1 功能總體說明</p><p><b> (1)前臺功能頁面</b></p><p> 登陸與注冊:register.jsp、uselogin.jsp、reg_failure.jsp、log
51、_failure.jsp</p><p> 帖子展示:articleFlat.jsp 、articleDetailFlat.jsp</p><p> 發(fā)表主題帖:post.jsp</p><p> 回復(fù):reply.jsp、replyDeal.jsp</p><p> 搜索:articleSearch.jsp</p>&
52、lt;p><b> (2)后臺功能頁面</b></p><p> 主頁面框架: fram.jsp、left.jsp、main.jsp、top.html</p><p> 帖子管理:modify.jsp、delete.jsp、articleSearch.jsp、searchResult.jsp、articleFlat1.jsp</p><
53、p> 用戶管理:userMrg.jsp、login.jsp、searchResultUser.jsp、deleteUser.jsp</p><p> 4.1.2主要功能流程</p><p> 圖 4.1 主要功能流程圖</p><p> 4.2各個功能模塊的實(shí)現(xiàn)</p><p> 4.2.1數(shù)據(jù)庫的連接</p>
54、<p> 出于安全性的考慮,我們將與數(shù)據(jù)庫的連接,單獨(dú)寫出來并進(jìn)行編譯,也就是數(shù)據(jù)庫連接的javabean文件,編譯出來的.class文件是無法被修改的只能通過源文件進(jìn)行修改,我們在JSP頁面中只用直接調(diào)用該方法即可,在本系統(tǒng)中我們將其命名為DBConMgr.java</p><p><b> 關(guān)鍵代碼如下:</b></p><p> 表4.1 數(shù)據(jù)庫
55、的連接</p><p> 4.2.2用戶登陸與注冊模塊的實(shí)現(xiàn)</p><p> 用戶登陸模塊是防止非法用戶登陸的第一道防線,通過它可以保護(hù)后臺數(shù)據(jù)庫的安全性,當(dāng)用戶要進(jìn)行發(fā)貼或回復(fù)時,首先要進(jìn)入的就是身份驗(yàn)證界面,只有在密碼正確的情況下才能進(jìn)行以后的操作,如果輸入的密碼不正確,則不能進(jìn)行發(fā)表新帖和回復(fù)。如果用戶以瀏覽者的身份進(jìn)入網(wǎng)站,則只能進(jìn)行一般的帖子瀏覽和搜索,而不能發(fā)表新帖和回復(fù)
56、,在點(diǎn)擊發(fā)表新帖后,系統(tǒng)會判斷該用戶是否是登陸用戶,如果不是則進(jìn)入登陸頁面,如果是第一次登陸,請先注冊。</p><p> 登陸的具體實(shí)現(xiàn)要通過一個全程變量,即Session變量來實(shí)現(xiàn),用戶登錄的界面userlogin.jsp,從user表查得用戶提交的帳戶名和密碼正確后,用一個全局變量,即Session變量保存這一消息該變量稱為session.setAttribute("uLogined"
57、, "true");。具體的判斷過程為:</p><p> 表4.2用戶登陸代碼實(shí)現(xiàn)</p><p> boolean ulog = false; //判斷用戶是否登陸</p><p> String u = (String)session.getAttribute("uLogined");</p><
58、;p> if (u != null && u.trim().equals("true")) </p><p> ulog = true;</p><p> 若ulog為false,表明沒有經(jīng)過登陸與否的驗(yàn)證,則只能已游客的生份瀏覽和搜索帖子如果想留言和發(fā)表帖子,只有登錄或注冊用戶才可以。</p><p> 若ulog
59、為true則表名用戶已經(jīng)登陸,而且可以用session得到用戶名(String)session.getAttribute("name"),顯示在主頁上。</p><p> 如果用戶還不是會員則提示用戶進(jìn)行注冊,用戶提交信息之后,系統(tǒng)開始判斷用戶的注冊信息是否有效,首先是用戶名是否為空,用戶輸入的兩次密碼是否一致,然后依次往后判斷用戶所填寫的各項(xiàng)信息是否符合要求,直到所有信息均正確無誤,系統(tǒng)將
60、該用戶注冊信息寫入會員表即user表,并提示用戶注冊成功。就可以進(jìn)行其它有效的操作了。</p><p> 系統(tǒng)對用戶的注冊信息的驗(yàn)證實(shí)現(xiàn)如下:</p><p> 首先是用正則表達(dá)式對表單的控制</p><p> 表4.3 正則表達(dá)式對表單的控制</p><p> 表4.4 用戶注冊代碼實(shí)現(xiàn)</p><p>
61、4.2.3分頁顯示的功能實(shí)現(xiàn)</p><p> 這里是分頁功能的實(shí)現(xiàn),這里把每頁幾條記錄設(shè)為一個常量便于修改。</p><p> 表4.5 分頁顯示代碼實(shí)現(xiàn)</p><p> 4.2.4 發(fā)表與回復(fù)功能模塊實(shí)現(xiàn)</p><p> 點(diǎn)擊發(fā)表主題進(jìn)入post.jsp,填寫標(biāo)題、作者與內(nèi)容提交到自身頁面</p><p&g
62、t; 表4.6 發(fā)表帖子功能代碼實(shí)現(xiàn)</p><p><b> 回復(fù)功能關(guān)鍵代碼</b></p><p> 表 4.7 回復(fù)功能實(shí)現(xiàn)</p><p> 這里是javscript實(shí)現(xiàn)五秒之后自動跳轉(zhuǎn)</p><p> 表4.8 Javascript 實(shí)現(xiàn)延遲跳轉(zhuǎn)</p><p> 4.2
63、.5后臺管理模塊的實(shí)現(xiàn)</p><p> 網(wǎng)上論壇系統(tǒng)除了能夠讓用戶實(shí)現(xiàn)前臺的瀏覽和回復(fù)等操作之外,還必須能夠使管理人員能夠?qū)ο到y(tǒng)的各種信息進(jìn)行維護(hù),比如帖子的增加、刪除、修改,會員的搜索,刪除等等。管理功能是網(wǎng)上論壇系統(tǒng)相當(dāng)重要的一部分功能。</p><p> 管理員可以通過主頁面進(jìn)入系統(tǒng)后臺進(jìn)行維護(hù),點(diǎn)擊之后,首要的就是進(jìn)行身份驗(yàn)證,輸入正確的賬號,密碼之后,方能進(jìn)入。出于安全性考
64、慮,管理員賬號應(yīng)盡量少分配,密碼也要盡量復(fù)雜,經(jīng)常更換。</p><p> 進(jìn)入之后系統(tǒng)管理的主頁面采用了框架結(jié)構(gòu),左邊是一個菜單,右邊顯示具體信息。</p><p> 管理的主要功能有帖子的查詢、更新,刪除等,用戶管理,主要就是查詢用戶,刪除用戶。</p><p> 這一部分的實(shí)現(xiàn)也沒有新的方法,使用的依然是一些SQL語句來對相關(guān)數(shù)據(jù)進(jìn)行查詢和刪除,修改。&
65、lt;/p><p> 網(wǎng)上論壇作為一個在網(wǎng)上交流思想的論壇系統(tǒng),如何能讓用戶以最快的速度找到自己希望看到的帖子,也是需要非常重視的一個問題,此時搜索引擎也就必不可少了。本論壇系統(tǒng)也做了一個小模塊,以供用戶進(jìn)行一些模糊查找,用戶不必輸入全部名稱,只需輸入一些關(guān)鍵詞,系統(tǒng)就可以將符合該查詢條件的所有帖子信息以網(wǎng)頁形式返回給用戶。該搜索功能在JSP頁面中實(shí)現(xiàn)的關(guān)鍵代碼為:</p><p> 表4
66、.9搜索功能代碼實(shí)現(xiàn)</p><p> 修改功能實(shí)現(xiàn)的關(guān)鍵代碼為:</p><p> 表4.10修改功能代碼實(shí)現(xiàn)</p><p> 刪除功能實(shí)現(xiàn)的關(guān)鍵代碼為</p><p> 表4.11刪除功能代碼實(shí)現(xiàn)</p><p><b> 系統(tǒng)測試</b></p><p>
67、 系統(tǒng)完成之后,對各個模塊的功能進(jìn)行了詳細(xì)的測試,輸入數(shù)據(jù)和預(yù)測輸出數(shù)據(jù)相比,發(fā)現(xiàn)了一些問題。主要是在查詢過程中預(yù)計(jì)查詢結(jié)果和實(shí)際結(jié)果不一致,有時候達(dá)不到目的,對數(shù)據(jù)庫的操作表之間的關(guān)聯(lián)考慮得不夠周到,因此往往會出現(xiàn)一些小的錯誤。需要靠一步步的查找解決。各個模塊組裝完成后,又會出現(xiàn)一些問題。所以很容易造成數(shù)據(jù)混亂,必須對相應(yīng)的數(shù)據(jù)關(guān)系理清楚,一些關(guān)鍵查詢統(tǒng)計(jì)的SQL語句必須反復(fù)斟酌才能放在程序中使用。 </p><
68、p> 先注冊一個用戶名為USER的用戶(先前數(shù)據(jù)庫中無此用戶名的),注冊成功后,再注冊一個用戶名為USER的用戶,預(yù)期結(jié)果應(yīng)該是系統(tǒng)提示該用戶名已經(jīng)存在。填寫完整的資料后點(diǎn)擊注冊,此時系統(tǒng)按照預(yù)期結(jié)果提示該用戶名已經(jīng)被注冊了。測試結(jié)果,系統(tǒng)正常按照設(shè)計(jì)模式運(yùn)行。將用戶名改為:幾個空格然后其他的不變提交之后我們會發(fā)現(xiàn)系統(tǒng)返回成功頁面,但問題是用戶名什么也沒有,空格也被作為合法的用戶名,這在實(shí)際應(yīng)用中是不允許的,我們需要對其命名規(guī)則
69、進(jìn)行定義,具體修改請參看前面正則表達(dá)式對表單的控制。同樣的郵箱也存在規(guī)則未定義的問題,需要對其加以定義。</p><p> 在測試過程中,我經(jīng)過測試,排除了系統(tǒng)的大部分錯誤。當(dāng)然排除所有錯誤是不太可能的,我想應(yīng)該還有些不易檢測到的錯誤還沒有被發(fā)現(xiàn),需要在使用的過程中進(jìn)一步的完善,數(shù)據(jù)庫的加密是一個重要的概念,在實(shí)際的應(yīng)用過程中是一個尚待解決的問題,應(yīng)該做好數(shù)據(jù)庫的完善工作,特別是備份和安全工作;另一方面由于時間
70、倉促難免有錯誤和不完善的地方,希望老師能夠幫我指點(diǎn)和糾正。</p><p><b> 總 結(jié)</b></p><p> 完成這次設(shè)計(jì)任務(wù)總共用了六個星期時間,前三個星期用來收集資料、學(xué)習(xí)要用到的各項(xiàng)開發(fā)技術(shù)、進(jìn)行論壇的系統(tǒng)分析,中間兩個星期用來設(shè)計(jì)系統(tǒng),后一個星期用來測試及修改。論文的撰寫一直貫穿其中。</p><p> 通過這次畢業(yè)設(shè)計(jì)
71、,我從中學(xué)到了許多新的知識,而且通過這次畢業(yè)設(shè)計(jì),培養(yǎng)了我綜合多門學(xué)科中的知識、迅速規(guī)劃并開發(fā)出目標(biāo)系統(tǒng)的能力,以及編程能力也有了很大的提高。另外也有許多心得體會,所謂系統(tǒng)開發(fā)如人生百味,酸甜苦辣皆有之。</p><p> 嚴(yán)格按工程的方法來設(shè)計(jì)系統(tǒng)相當(dāng)重要,不能認(rèn)為基于Web的數(shù)據(jù)庫管理的BBS系統(tǒng)很小,可以無需花太多的時間來做系統(tǒng)分析,甚至可以無需經(jīng)過系統(tǒng)定義而直接進(jìn)入系統(tǒng)編碼階段。這種想法很天真,最小的系
72、統(tǒng),你若想保證質(zhì)量,把系統(tǒng)做得越可靠越有效率功能越強(qiáng),應(yīng)該考慮的方方面面就越多越復(fù)雜。系統(tǒng)分析過于簡單,系統(tǒng)定義過于抽象,則在系統(tǒng)設(shè)計(jì)與編碼階段遇到的困難就越多,特別是其中不得不做一些功能性甚至系統(tǒng)結(jié)構(gòu)性方面的變動,將面對許多重復(fù)性的工作。在系統(tǒng)開發(fā)過程中重復(fù)工作過多,將會極大地影響系統(tǒng)開發(fā)的積極性,從而影響整個系統(tǒng)的質(zhì)量。在這一點(diǎn)上,我體會尤深,我花了三個星期,即接近系統(tǒng)開發(fā)一半的時間用在系統(tǒng)分析與系統(tǒng)定義上,也就是在開始浪費(fèi)了一周多
73、的時間,即邊編碼邊分析,邊分析邊編碼,后來越來越亂越來越復(fù)雜,不得不重新考慮系統(tǒng)開發(fā)計(jì)劃的合理性??傊谶@一點(diǎn)上,我的體會是,系統(tǒng)分析越充分,系統(tǒng)定義越具體,那么后續(xù)的系統(tǒng)設(shè)計(jì)與開發(fā)工作就越有效率,且系統(tǒng)的質(zhì)量也越有保障。</p><p> 回顧這一個半月的系統(tǒng)開發(fā)工作,總結(jié)起來那就是,軟件的開發(fā)是相當(dāng)辛苦的,但成功以后的喜悅也是非常美妙的,而且我發(fā)現(xiàn),其中你投入的心血越多,成功以后你所獲得的快樂與充實(shí)感也更
74、多更強(qiáng)。難道人越辛苦就會越幸福快樂嗎?對,軟件系統(tǒng)開發(fā)就是這樣!</p><p><b> 參考文獻(xiàn)</b></p><p><b> 主要參考資料:</b></p><p> [1] 武延軍,黃飛躍. 精通JSP編程技術(shù)[M]. 北京:人民郵電出版社,2001:126-178.</p><p&g
75、t; [2] 柏亞軍. JSP編程基礎(chǔ)及應(yīng)用實(shí)例集錦[M].北京:人民郵電出版社,2001:41-82.</p><p> [3] 清宏計(jì)算機(jī)工作室.JSP編程技巧[M].北京:機(jī)械工業(yè)出版社,2000 :32-39.</p><p> [4] 周影 .網(wǎng)絡(luò)編程語言JSP實(shí)例教程[M].北京:電子工業(yè)出版社,2003:17-32.</p><p> [5]
76、陳海山.深入Java Servlet 網(wǎng)絡(luò)編程[M].北京:清華大學(xué)出版社,2002 :55-62.</p><p> [6] Donny.JSP與網(wǎng)站開發(fā)編程實(shí)戰(zhàn)[M].北京:科學(xué)出版社 ,2001:22-53.</p><p> [7] Steven Holzner.Java技術(shù)內(nèi)幕[M].北京:機(jī)械工業(yè)出版社,2002 : 22-25.</p><p>
77、 [8] Phil Hanna .JSP技術(shù)大全[M].北京:機(jī)械工業(yè)出版社,2002 : 222-223.</p><p> [9] Karl Moss. Java Servlet開發(fā)人員指南[M].北京:清華大學(xué)出版社,2002:45-67.</p><p> [10] 李存珠,李宣東. 軟件工程概論[M].南京大學(xué)計(jì)算機(jī)系出版, 2001:30-87.</p>&l
78、t;p><b> 致 謝</b></p><p> 從十二月份接受課題到現(xiàn)在完成畢業(yè)設(shè)計(jì)論文,衷心的感謝我的導(dǎo)師孫發(fā)軍老師給予了精心的指導(dǎo)和熱情的幫助,尤其在課題設(shè)計(jì)的前期準(zhǔn)備階段和本人的系統(tǒng)設(shè)計(jì)階段,導(dǎo)師提出許多寶貴的設(shè)計(jì)意見,在最后的測試修改階段老師在百忙之中抽出時間為我們提供了必要的幫助,這樣使得我們得以順利的完成畢業(yè)設(shè)計(jì)工作,在短暫的幾個月的相處時間里,老師淵博的知識,敏銳
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文范文——基于jsp的bbs專題論壇系統(tǒng)
- 基于jsp的bbs論壇的設(shè)計(jì)與實(shí)現(xiàn) 畢業(yè)論文
- bbs畢業(yè)論文----網(wǎng)絡(luò)bbs論壇系統(tǒng)
- 畢業(yè)論文——bbs論壇系統(tǒng)
- 基于jsp的bbs專題論壇系統(tǒng)
- 基于jsp的bbs專題論壇系統(tǒng)
- bbs論壇系統(tǒng)_畢業(yè)論文_完整
- 網(wǎng)絡(luò)bbs論壇系統(tǒng)畢業(yè)論文
- bbs論壇畢業(yè)論文
- bbs論壇畢業(yè)論文
- 畢業(yè)設(shè)計(jì)論文-----jsp_bbs專題論壇系統(tǒng)
- 計(jì)算機(jī)畢業(yè)論文---bbs論壇管理系統(tǒng)
- 畢業(yè)論文--基于java技術(shù)的論壇(bbs)
- 畢業(yè)論文bbs論壇設(shè)計(jì)論文
- jsp論壇畢業(yè)論文
- 陽光菲亞斯bbs論壇系統(tǒng)【畢業(yè)論文】
- bbs論壇系統(tǒng)(jsp+sql)
- BBS論壇畢業(yè)論文(1).doc
- 畢業(yè)論文范文——bbs論壇
- jsp論壇畢業(yè)論文--jsp技術(shù)實(shí)現(xiàn)論壇及優(yōu)化
評論
0/150
提交評論