版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 畢業(yè)論文</b></p><p> 基于Java技術(shù)開發(fā)的BBS論壇</p><p> BBS Forum Base On Java Technology</p><p> 論文作者姓名: </p><p> 作 者 學(xué) 號:
2、 </p><p> 所 在 學(xué) 院: 計算機(jī)與信息工程學(xué)院 </p><p> 所 學(xué) 專 業(yè): 網(wǎng)絡(luò)工程(信息安全方向) </p><p> 導(dǎo)師姓名職稱: </p><p> 論文完成時間: 2013年04月29日
3、 </p><p> 畢業(yè)設(shè)計(論文、創(chuàng)作)開題報告</p><p><b> (學(xué)生本人填寫)</b></p><p> 畢業(yè)論文(設(shè)計、創(chuàng)作)任務(wù)書</p><p> ?。▽?dǎo)師根據(jù)學(xué)生的開題報告填寫)</p><p><b> 指導(dǎo)教師簽名:</b><
4、;/p><p> 2013年1 月 10 日</p><p> 畢業(yè)設(shè)計(論文、創(chuàng)作)中期檢查表</p><p><b> 目 錄</b></p><p><b> 摘 要5</b></p><p> ABSTRACT6</p><p>
5、 第1章 緒 論1</p><p> 1.1 課題來源1</p><p> 1.2 相關(guān)技術(shù)介紹1</p><p> 第2章 需求分析4</p><p> 2.1 可行性研究4</p><p> 2.1.1 技術(shù)可行性4</p><p> 2.1.2 運行
6、可行性4</p><p> 2.2 系統(tǒng)運行需求4</p><p> 2.3 系統(tǒng)功能需求4</p><p> 2.3.1 用戶角色4</p><p> 2.3.2 前臺功能5</p><p> 2.3.3 帖子功能5</p><p> 2.3.4 后臺管理
7、6</p><p> 2.4 用戶功能流程圖6</p><p> 2.4.1 游客具有的功能6</p><p> 2.4.2 注冊用戶具有的功能6</p><p> 2.4.3 版主具有的功能7</p><p> 2.4.4 管理員具有的功能8</p><p>
8、第3章 概要設(shè)計9</p><p> 3.1 系統(tǒng)功能模塊9</p><p> 3.1.1 前臺功能模塊9</p><p> 3.1.2 后臺功能模塊9</p><p> 3.2 系統(tǒng)的功能設(shè)計10</p><p> 3.2.1 論壇首頁10</p><p>
9、 3.2.2 前臺用戶登錄頁面11</p><p> 3.2.3 前臺用戶注冊頁面11</p><p> 3.2.4 瀏覽所有版塊功能。12</p><p> 3.2.5 瀏覽某版塊中所有的帖子。12</p><p> 3.2.6 瀏覽某個帖子的回復(fù)。12</p><p> 3.2.7
10、發(fā)表帖子12</p><p> 3.2.8 回復(fù)帖子12</p><p> 3.2.9 修改個人信息12</p><p> 3.2.10 帖子管理12</p><p> 3.2.11 用戶管理13</p><p> 第4章 數(shù)據(jù)庫設(shè)計14</p><p> 4.
11、1 數(shù)據(jù)庫設(shè)計14</p><p> 4.1.1 E-R圖14</p><p> 4.1.2 數(shù)據(jù)庫的選擇15</p><p> 4.1.3 創(chuàng)建數(shù)據(jù)庫15</p><p> 4.2 數(shù)據(jù)庫描述15</p><p> 第5章 詳細(xì)設(shè)計18</p><p> 5
12、.1 用戶注冊18</p><p> 5.1.1 數(shù)據(jù)流18</p><p> 5.1.2 頁面19</p><p> 5.1.3 代碼20</p><p> 5.2 用戶登錄22</p><p> 5.2.1 數(shù)據(jù)流22</p><p> 5.2.2 頁面
13、22</p><p> 5.3 發(fā)帖23</p><p> 5.3.1 數(shù)據(jù)流23</p><p> 5.3.2 頁面23</p><p> 5.3.3 代碼24</p><p> 5.4 回帖26</p><p> 5.4.1 數(shù)據(jù)流26</p>
14、;<p> 5.4.2 頁面26</p><p> 5.5 審核發(fā)帖27</p><p> 5.5.3 代碼27</p><p><b> 結(jié) 論27</b></p><p><b> 參考文獻(xiàn)29</b></p><p><b
15、> 摘 要</b></p><p> 21世紀(jì)的今天,科學(xué)技術(shù)有了很大的發(fā)展,特別是互聯(lián)網(wǎng)技術(shù)迅速普及和廣泛應(yīng)用。本文基于java技術(shù)的論壇(BBS)以網(wǎng)站的形式被發(fā)布,為網(wǎng)友相互交流和學(xué)習(xí)提供一個很好的平臺。</p><p> 本文首先介紹BBS論壇系統(tǒng)的現(xiàn)狀,項目的相關(guān)技術(shù)介紹,然后介紹系統(tǒng)開發(fā)的可行性,系統(tǒng)的需求分析和概要設(shè)計,較詳細(xì)的論述了系統(tǒng)的需求和功能
16、模塊,需求分析、概要設(shè)計、數(shù)據(jù)庫設(shè)計、詳細(xì)設(shè)計。最后,本文對BBS論壇進(jìn)行了總結(jié)。</p><p> BBS論壇采用經(jīng)典的SSH框架實現(xiàn),struts+spring+hibernate,三種框架分別負(fù)責(zé)不同的層次。SSH是現(xiàn)在特別流行的java web系統(tǒng)框架,搭建、開發(fā)、維護(hù)都很方便,并且有很多開源的插件可以利用,運用一些JQuery的前臺功能插件會讓用戶有更好的用戶體驗。</p><p&
17、gt; 本論壇采用B/S結(jié)構(gòu),為用戶提供用戶注冊、用戶登錄、個人信息管理、個人帖子管理、帖子管理、用戶管理、用戶權(quán)限管理等功能,并根據(jù)權(quán)限的不同將用戶劃分為游客、注冊用戶、版主、管理員四大類,由于權(quán)限不用因此所具有的功能也不同??傮w來說將系統(tǒng)分為兩個大的模塊:所有的用戶都可以使用前臺模塊的功能,只有注冊用戶、版主、和管理員才能使用后臺模塊的功能,注冊用戶可以發(fā)帖和回帖,版主可以審核發(fā)帖和刪除帖子,管理員可以對用戶和帖子進(jìn)行管理。接下來
18、會對本論壇的、需求分析、可行性研究、概要設(shè)計、詳細(xì)設(shè)計、測試、維護(hù)進(jìn)行詳細(xì)說明。</p><p> 關(guān)鍵詞 JAVA、WEB、BBS、SSH</p><p><b> ABSTRACT</b></p><p> 21st century, science and technology has been greatly developed
19、, especially the rapidly growing popularity of Internet technology are widely used.</p><p> BBS forum base on java technology was released in the form of website and provide a good platform for users to int
20、eract and learning, The use of JQuery will make the user a better user experience</p><p> This paper first introduces the status of the BBS system, project-related technical presentations, and then describe
21、s the feasibility of system development, system requirements analysis and outline design, more detailed discussion of the system requirements and functional modules, needs analysis, outline design, databasedesign, detail
22、ed design. Finally, a summary of the BBS forum.</p><p> BBS forum use the classic SSH framework for implement, struts+spring+hibernate, three frameworks are responsible for the different levels. SSH is part
23、icularly popular in java web framework, build, develop, maintain easy, and there are a lot of open source plug-in can take advantage of</p><p> The BBS forum use the B/S structure, provide users the user re
24、gistration, user login, personal information management, personal posts management, message management, user management, user rights management and other functions and, depending on the permission of the user is divided
25、into four main categories of visitors, registered users, moderators, administrators all users can use the functions of the front desk module, only registered users, moderators and administrators can use the function of&l
26、t;/p><p> Keywords: JAVA、WEB、BBS、SSH</p><p><b> 第1章 緒 論</b></p><p> BBS是 Bulletin Board System的縮寫,通俗的講就是論壇,它通過豐富的用戶界面,為廣大網(wǎng)友提供一個交流學(xué)習(xí)的平臺。通過BBS系統(tǒng)可以方便的獲取自己想要的信息,了解世界,豐富精神
27、文化生活,讓網(wǎng)友利用互聯(lián)網(wǎng),利用BBS系統(tǒng)方便自己的生活,方便各行各業(yè)的人們之間的相互交流。</p><p><b> 1.1 課題來源</b></p><p> 無錫IBM實訓(xùn)項目。</p><p> 1.2 相關(guān)技術(shù)介紹</p><p><b> 主要用到的技術(shù)有:</b></
28、p><p><b> java</b></p><p> Java是一種可以撰寫跨平臺應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計語言,是由Sun Microsystems公司于1995年5月推出的Java程序設(shè)計語言和Java平臺(即 JavaSE, JavaEE, JavaME)的總稱。Java 技術(shù)具有卓越的通用性、高效性、平臺移植性和安全性,廣泛應(yīng)用于個人PC、數(shù)據(jù)中心、游戲
29、控制臺、科學(xué)超級計算機(jī)、移動電話和互聯(lián)網(wǎng),同時擁有全球最大的 開發(fā)者專業(yè)社群。在全球云計算和移動互聯(lián)網(wǎng)的產(chǎn)業(yè)環(huán)境下,Java更具備了顯著優(yōu)勢和廣闊前景。</p><p><b> Jsp</b></p><p> JSP(Java Server Pages)是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。JSP技術(shù)有點類似
30、ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標(biāo)記(tag),從而形成JSP文件(*.jsp)。 用JSP開發(fā)的Web應(yīng)用是跨平臺的,既能在Linux下運行,也能在其他操作系統(tǒng)上運行。</p><p> Javascript</p><p> Javascript是一種由Netscape的LiveScript發(fā)展而
31、來的原型化繼承的面向?qū)ο蟮膭討B(tài)類型的區(qū)分大小寫的客戶端腳本語言,主要目的是為了解決服務(wù)器端語言,比如Perl,遺留的速度問題,為客戶提供更流暢的瀏覽效果。當(dāng)時服務(wù)端需要對數(shù)據(jù)進(jìn)行驗證,由于網(wǎng)絡(luò)速度相當(dāng)緩慢,只有28.8kbps,驗證步驟浪費的時間太多。于是Netscape的瀏覽器Navigator加入了Javascript,提供了數(shù)據(jù)驗證的基本功能。</p><p><b> Css</b>
32、;</p><p> 級聯(lián)樣式表(Cascading Style Sheet)簡稱“CSS”,通常又稱為“風(fēng)格樣式表(Style Sheet)”,它是用來進(jìn)行網(wǎng)頁風(fēng)格設(shè)計的。比如,如果想讓鏈接字未點擊時是藍(lán)色的,當(dāng)鼠標(biāo)移上去后字變成紅色的且有下劃線,這就是一種風(fēng)格。通過設(shè)立 樣式表,可以統(tǒng)一地控制HTML中各標(biāo)志的顯示屬性。級聯(lián)樣式表可以使人更能有效地控制網(wǎng)頁外觀。使用級聯(lián)樣式表,可以擴(kuò)充精確指定網(wǎng)頁元素位置,
33、外觀以 及創(chuàng)建特殊效果的能力。</p><p><b> Jquery</b></p><p> Jquery是繼prototype之后又一個優(yōu)秀的Javascript框架。它是輕量級的js庫(壓縮后只有21k) ,它兼容CSS3,還兼容各種瀏覽器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+),jQuery2.0及后續(xù)版本將
34、不再支持IE6/7/8瀏覽器。jQuery使用戶能更方便地處理HTML documents、events、實現(xiàn)動畫效果,并且方便地為網(wǎng)站提供AJAX交互。jQuery還有一個比較大的優(yōu)勢是,它的文檔說明很全,而且各種 應(yīng)用也說得很詳細(xì),同時還有許多成熟的插件可供選擇。jQuery能夠使用戶的html頁面保持代碼和html內(nèi)容分離,也就是說,不用再在html里面插入一堆js來調(diào)用命令了,只需定義id即可。</p><p
35、><b> Struts2</b></p><p> Struts 2是Struts的下一代產(chǎn)品,是在 struts 1和WebWork的技術(shù)基礎(chǔ)上進(jìn)行了合并的全新的Struts 2框架。其全新的Struts 2的體系結(jié)構(gòu)與Struts 1的體系結(jié)構(gòu)差別巨大。Struts 2以WebWork為核心,采用攔截器的機(jī)制來處理用戶的請求,這樣的設(shè)計也使得業(yè)務(wù)邏輯控制器能夠與Servlet
36、API完全脫離開,所以Struts 2可以理解為WebWork的更新產(chǎn)品。雖然從Struts 1到Struts 2有著太大的變化,但是相對于WebWork,Struts 2的變化很小。</p><p><b> Hibernate</b></p><p> Hibernate是一個開放源代碼的對象關(guān)系映射框架,它對JDBC進(jìn)行了非常輕量級的對象封裝,使得Java程
37、序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。 Hibernate可以應(yīng)用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。</p><p><b> Spring</b></p><p> sprin
38、g在英文里有春天、彈簧、跳躍和泉眼的意思。Spring 也表示是一個開源框架,是為了解決企業(yè)應(yīng)用程序開發(fā)復(fù)雜性由Rod Johnson創(chuàng)建的。框架的主要優(yōu)勢之一就是其分層架構(gòu),分層架構(gòu)允許使用者選擇使用哪一個組件,同時為 J2EE 應(yīng)用程序開發(fā)提供集成的框架。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限于服務(wù)器端的開發(fā)。從簡單性、可測試性和松耦合的角度而言,任何Java應(yīng)用都可
39、以從Spring中受益。</p><p> Oracle 10g</p><p> Oracle 在其技術(shù)白皮書上闡明,Oracle 10g數(shù)據(jù)庫關(guān)鍵目標(biāo)有二:1 降低管理開銷,2 提高性能。 Oracle 10g的增強(qiáng)有對高可用性的增強(qiáng)、新的 Flashback 能力、支持回滾更 新操作;對安全性的增強(qiáng),便于管理大量的用戶; BI 方面的增強(qiáng) , 包括改進(jìn)的 SQL 能力、分析功能、
40、 OLAP 、數(shù)據(jù)挖掘的能力等;對非關(guān)系型數(shù)據(jù)存儲的能力得到了改進(jìn); XML 的能力;對開發(fā)能力支持的加強(qiáng),對生物信息學(xué)( Bioinformatics )的支持。</p><p> 第2章 需求分析 </p><p><b> 2.1 可行性研究</b></p><p> 軟件開發(fā)的第一個階段就是可行性研究。通過可行性的研究分析可以從
41、中發(fā)現(xiàn)問題,并對遇到的問題提出切實可行的解決辦法,從而避免了人力、物力等資源的浪費。在現(xiàn)行系統(tǒng)初步調(diào)查的基礎(chǔ)上可以提出新系統(tǒng)的目標(biāo),即新系統(tǒng)建立之后索要達(dá)到的運行指標(biāo),這是系統(tǒng)開發(fā)和平衡價的一句。</p><p> 2.1.1 技術(shù)可行性</p><p> 根據(jù)要求上對系統(tǒng)功能、性能、以及實現(xiàn)效果的綜合描述,確定本系統(tǒng)是一個B/S結(jié)構(gòu)的信息發(fā)布和查詢的系統(tǒng),以現(xiàn)有的軟件技術(shù)、硬件條件
42、可以很好地實現(xiàn)系統(tǒng)的預(yù)期功能。</p><p> 2.1.2 運行可行性</p><p> 系統(tǒng)的功能開發(fā)可以滿足用戶的需求。</p><p> 2.2 系統(tǒng)運行需求</p><p> 系統(tǒng)運行環(huán)境主要有軟件運行平臺和硬件運行平臺。</p><p><b> 1、軟件運行平臺</b>
43、</p><p> 最低版本是Windows XP,高版本可以是Windows 7或者Windows 8。</p><p><b> 2、硬件運行平臺</b></p><p> CPU 奔騰4或者以上;內(nèi)存 至少512M。</p><p> 2.3 系統(tǒng)功能需求</p><p> 主要
44、分為前臺和后臺兩個模塊。根據(jù)權(quán)限的不同可將用戶分為游客、注冊用戶、版主、系統(tǒng)管理員。</p><p> 2.3.1 用戶角色</p><p> 游客:不能回帖,也不可以發(fā)帖.只可以瀏覽帖子。</p><p> 普通用戶:已注冊用戶,有發(fā)帖,回帖等功能。</p><p> 版主:負(fù)責(zé)管理論壇的版塊,有禁止用戶發(fā)言,刪除帖子等功能。&l
45、t;/p><p> 管理員:管理整個系統(tǒng),有管理用戶等功能。</p><p> 2.3.2 前臺功能</p><p> 游客只可以看帖,瀏覽頁面。</p><p><b> 注冊用戶:</b></p><p> 游客點擊注冊,轉(zhuǎn)向到注冊頁面,可以注冊為論壇用戶, 注冊用戶名不可以重名,成功
46、后,跳轉(zhuǎn)到登錄頁面,可進(jìn)行登錄操作。</p><p><b> 用戶登錄:</b></p><p> 普通用戶登錄成功后,跳轉(zhuǎn)到論壇頁面,可以發(fā)帖,回帖.版主登錄后,會有相應(yīng)的管理頁面,提供后臺管理功能。</p><p><b> 發(fā)表新帖:</b></p><p> 用戶可以在論壇發(fā)表帖子
47、,需要版主的審核。</p><p><b> 回復(fù)帖子:</b></p><p> 用戶瀏覽帖子內(nèi)容,如果感興趣則可以在帖子里,回復(fù)信息。</p><p><b> 查看收藏的帖子:</b></p><p> 在個人首頁,選擇收藏的帖子,用戶可以查看自己收藏的帖子,方便快速鏈接過去。<
48、/p><p><b> 查看發(fā)過的帖子:</b></p><p> 在個人首頁,選擇發(fā)過的帖子,用戶可以查看自己曾經(jīng)發(fā)過的帖子。</p><p><b> 收到的回復(fù):</b></p><p> 在個人首頁,如果當(dāng)用戶,發(fā)表的帖子有其他用戶回復(fù)時,用戶可以從收到的回復(fù)頁面中,可以查看到最新的帖子
49、回復(fù)信息。</p><p> 2.3.3 帖子功能</p><p><b> 查看帖子列表:</b></p><p> 在首頁面,選擇某個版塊進(jìn)入后,可以查看當(dāng)前版塊的帖子列表。</p><p><b> 收藏帖子:</b></p><p> 每個版塊的帖子可以被
50、收藏,方便用戶快速查看帖子。</p><p><b> 帖子搜索:</b></p><p> 在首頁面中,用戶可以在搜索欄中,按照帖子作者或帖子標(biāo)題來搜索帖子,沒有查找到則為空。</p><p> 2.3.4 后臺管理</p><p><b> 版主管理:</b></p>&
51、lt;p> 刪除帖子:可以對不符合規(guī)范的帖子進(jìn)行刪除。</p><p> 審核發(fā)帖:對帖子進(jìn)行審核,通過則可以顯示在頁面。</p><p> 禁止發(fā)帖:可以對某個用戶做禁言權(quán)限的控制,不允許其發(fā)貼。</p><p> 置頂帖子:可以將帖子置于頂部。</p><p><b> 管理員管理:</b></
52、p><p> 刪除用戶:可以刪除用戶。</p><p> 設(shè)置版主:可以將用戶提升為版主。</p><p> 2.4 用戶功能流程圖</p><p> 用流程圖可以清晰的描述出每個模塊的流程,方便直觀。本節(jié)主要用流程圖的形式展現(xiàn)所有用戶的功能。</p><p> 2.4.1 游客具有的功能</p>
53、<p> 游客可以瀏覽帖子、瀏覽回帖,如果游客想發(fā)表帖子還可以注冊成為注冊用戶,如圖2-1游客功能圖。</p><p> 圖2-1 游客功能圖</p><p> 2.4.2 注冊用戶具有的功能</p><p> 注冊用戶不僅可以瀏覽帖子,瀏覽回復(fù),登錄后還可以發(fā)表帖子、回復(fù)帖子、收藏帖子,還可以進(jìn)入后臺查看自己發(fā)表過的帖子、回復(fù)過的帖子以及
54、收藏過的帖子,并且還可以更新個人信息,如圖2-2注冊用戶功能圖。</p><p> 圖2-2 注冊用戶功能圖</p><p> 2.4.3 版主具有的功能</p><p> 版主除了可以瀏覽帖子,瀏覽回帖之外,登陸后還可以刪除注冊用戶發(fā)表的帖子、審核發(fā)表的帖子、及對某個注冊用戶進(jìn)行禁言,如圖2-3版主功能圖。</p><p> 圖
55、2-3 版主功能圖</p><p> 2.4.4 管理員具有的功能</p><p> 管理員可以管理整個系統(tǒng),登錄之后可以對用戶進(jìn)行管理,設(shè)置用戶權(quán)限還可以對帖子進(jìn)行管理,如圖2-4管理員功能圖。</p><p> 圖2-4 管理員功能圖</p><p><b> 第3章 概要設(shè)計</b></p&g
56、t;<p> 系統(tǒng)概要設(shè)計是指在系統(tǒng)需求分析的基礎(chǔ)之上有抽象到具體的過程。目標(biāo)就是明確開發(fā)人員對程序的需求轉(zhuǎn)化為具體可行的方案,為下一階段的詳細(xì)設(shè)計提供依據(jù)。</p><p> 3.1 系統(tǒng)功能模塊</p><p> 3.1.1 前臺功能模塊</p><p> 前臺功能對所有的用戶開放,游客可以瀏覽帖子和回帖還可以注冊登錄之后成為注冊用戶發(fā)
57、表帖子和回復(fù)帖子及查看回復(fù),如圖3-1前臺功能模塊圖。</p><p> 圖3-1前臺功能模塊圖</p><p> 3.1.2 后臺功能模塊</p><p> 只有注冊用戶、版主、管理員可以進(jìn)入后臺管理模塊。根據(jù)權(quán)限的不同,登陸后進(jìn)入不同的頁面,注冊用戶可以查看帖子、查看回復(fù)、查看收藏、修改個人信息;版主可以查看所有的帖子、審核帖子、刪除帖子、置頂帖子;管理
58、員可以查看所有用戶、查看所有帖子、刪除用戶、刪除帖子、禁止用戶發(fā)言、置頂帖子、審核帖子、設(shè)置用戶權(quán)限,如圖3-2后臺功能模塊圖。</p><p> 圖3-2后臺功能模塊圖</p><p> 3.2 系統(tǒng)的功能設(shè)計</p><p> 3.2.1 論壇首頁</p><p> 在論壇的首頁上方可以看到置頂?shù)奶?,中間可以看到推薦的帖子和
59、回復(fù)做多的帖子,下方可以看到所有的帖子版塊并能進(jìn)入版塊看到版塊下所有的帖子,如圖3-3論壇首頁。</p><p><b> 圖3-3論壇首頁</b></p><p> 3.2.2 前臺用戶登錄頁面</p><p> 用戶可以在前臺的右上方有個輸入用戶名和密碼的輸入框直接輸入用戶名和密碼登錄,也可以點擊右上角的登錄按鈕跳轉(zhuǎn)到登錄界面登錄,
60、每次所輸入的信息都會與數(shù)據(jù)庫中的用戶表做匹配判斷是否為合法的用戶,。登錄失敗時會有友好的提示,可以重試或者注冊,如圖3-4登錄。</p><p><b> 圖3-4登錄</b></p><p> 3.2.3 前臺用戶注冊頁面</p><p> 如果是游客可以點擊首頁的右上角的注冊按鈕進(jìn)行新用戶的注冊,如果注冊的新的用戶名存在會做出友好提
61、示,注冊成功也會做出友好提示并跳轉(zhuǎn)到登陸后的首頁,如圖3-5注冊。</p><p><b> 圖3-5注冊</b></p><p> 3.2.4 瀏覽所有版塊功能。</p><p> 打開論壇首頁就可以瀏覽所有的版塊。</p><p> 3.2.5 瀏覽某版塊中所有的帖子。</p><p&
62、gt; 點擊要查看的版塊,進(jìn)入版塊頁面,顯示所有帖子列表。</p><p> 3.2.6 瀏覽某個帖子的回復(fù)。</p><p> 點擊要查看回復(fù)的帖子的標(biāo)題。</p><p> 3.2.7 發(fā)表帖子</p><p> 如果用戶想要發(fā)表帖子,首先必須登錄,登錄之后選擇版塊,然后點擊版塊中的發(fā)帖按鈕,進(jìn)入帖子的編制頁面,編制完成之后
63、保存提交。</p><p> 3.2.8 回復(fù)帖子</p><p> 如果用戶想要回帖,首先必須登錄,登錄之后選擇版塊進(jìn)入帖子列表,點擊想要回復(fù)的帖子,查看帖子的詳細(xì)信息,如果用戶想要回帖,可以點擊回帖按鈕進(jìn)行回帖。</p><p> 3.2.9 修改個人信息</p><p> 注冊用戶登錄網(wǎng)站之后,點擊注冊時的用戶名的超鏈接就可
64、以進(jìn)入個人信息頁面,可以更新個人信息。</p><p> 3.2.10 帖子管理</p><p> 版主登錄系統(tǒng),點擊用戶名進(jìn)入帖子管理頁面,如圖3-6版主管理,版主可以查看所有的帖子,可以審核發(fā)帖,也可以刪除帖子,還可以將帖子置頂。</p><p><b> 圖3-6版主管理</b></p><p> 3.2
65、.11 用戶管理</p><p> 超級管理員登錄系統(tǒng),進(jìn)入用戶管理頁面,如圖3-7超級管理員管理,管理員可以查看所有的用戶,可以刪除用戶,也可以將用戶設(shè)置為禁言,還可以對用戶的權(quán)限進(jìn)行設(shè)置,例如將某個普通的注冊用戶設(shè)置成版主。</p><p> 圖3-7超級管理員管理</p><p> 第4章 數(shù)據(jù)庫設(shè)計</p><p> 4.
66、1 數(shù)據(jù)庫設(shè)計</p><p> 數(shù)據(jù)庫作為一個系統(tǒng)最核心的部分,存放著系統(tǒng)中的所有數(shù)據(jù),為系統(tǒng)提供數(shù)據(jù)支撐,數(shù)據(jù)庫是信息系統(tǒng)的各個部分能否緊密的結(jié)合在一起以及如何結(jié)合的關(guān)鍵。</p><p> 4.1.1 E-R圖</p><p> 數(shù)據(jù)庫的設(shè)計就是為系統(tǒng)提供所需的數(shù)據(jù)信息,在設(shè)計數(shù)據(jù)庫是需要相應(yīng)的圖解,其中的E-R關(guān)系圖是用來描述現(xiàn)實世界的模型,E(E
67、ntity)表示實體,R(Relationship)表示聯(lián)系,如圖4-1 E-R圖。</p><p> 圖4-1 E-R圖</p><p> 4.1.2 數(shù)據(jù)庫的選擇</p><p> Oracle 數(shù)據(jù)庫是甲骨文公司的一款關(guān)系數(shù)據(jù)庫管理系統(tǒng)。ORACLE數(shù)據(jù)庫系統(tǒng)是美國ORACLE公司(甲骨文)提供的以分布式數(shù)據(jù)庫為核心的一組軟件產(chǎn)品,是目前最流行的客
68、戶/服務(wù)器(CLIENT/SERVER)或B/S體系結(jié)構(gòu)的數(shù)據(jù)庫之一。比如SilverStream就是基于數(shù)據(jù)庫的一種中間件。ORACLE數(shù)據(jù)庫是目前世界上使用最為廣泛的數(shù)據(jù)庫管理系統(tǒng),作為一個通用的數(shù)據(jù)庫系統(tǒng),它具有完整的數(shù)據(jù)管理功能;作為一個關(guān)系數(shù)據(jù)庫,它是一個完備關(guān)系的產(chǎn)品;作為分布式數(shù)據(jù)庫它實現(xiàn)了分布式處理功能。但它的所有知識,只要在一種機(jī)型上學(xué)習(xí)了ORACLE知識,便能在各種類型的機(jī)器上使用它。</p><
69、p> 4.1.3 創(chuàng)建數(shù)據(jù)庫</p><p> 利用Oracle數(shù)據(jù)庫的客戶端管理工具PL/SQL創(chuàng)建一個新的數(shù)據(jù)庫,名稱為“XE”,選擇支持中文字符的字符集“GBK”。</p><p> 4.2 數(shù)據(jù)庫描述</p><p> 根據(jù)前期的需求分析,設(shè)計數(shù)據(jù)庫的數(shù)據(jù)表和功能如下:</p><p> 1、用戶表(BBSUSER
70、),主要用于保存用戶的注冊信息。如表4-1所示。</p><p><b> 表4-1 用戶表</b></p><p> 2、帖子表(BBSPOST),主要用于保存帖子信息。如表4-2所示。</p><p><b> 表4-2 帖子表</b></p><p> 3、回帖表(BBSREPLY
71、POST),主要用于保存回帖信息。如表4-3所示。</p><p><b> 表4-3 回帖表</b></p><p> 4、帖子類型表(BBSPOSTTYPE),主要用于保存帖子的類型信息。如表4-4所示。</p><p> 表4-4 帖子類型表</p><p> 5、收藏帖子表(BBSPOSTCOLLEC
72、T),主要用于保存收藏的帖子信息。如表4-5所示。</p><p> 表4-5 收藏帖子表</p><p> 6、版塊表(BBSTYPE),主要用于保存版塊信息。如表4-6所示。</p><p><b> 表4-6 版塊表</b></p><p><b> 第5章 詳細(xì)設(shè)計</b>&l
73、t;/p><p><b> 5.1 用戶注冊</b></p><p> 游客登錄系統(tǒng)可在首頁注冊,填寫相關(guān)注冊信息之后,如果注冊成功跳轉(zhuǎn)到登陸頁面。分別用數(shù)據(jù)流、頁面、代碼來說明用戶注冊的詳細(xì)設(shè)計。</p><p> 5.1.1 數(shù)據(jù)流</p><p> 注冊操作流程,如圖5-1 注冊流程圖。</p>
74、;<p> 圖5-1 注冊流程圖</p><p><b> 5.1.2 頁面</b></p><p> 游客通過訪問論壇的網(wǎng)址進(jìn)入網(wǎng)站的首頁,如圖5-2首頁。</p><p><b> 圖5-2 首頁</b></p><p> 點擊右上角的注冊按鈕,進(jìn)入注冊頁面,如圖5
75、-3 注冊。</p><p><b> 圖5-3 注冊</b></p><p> 輸入相關(guān)的注冊信息,點擊按鈕提交注冊信息,如果游客注冊的用戶名已經(jīng)存在,彈出提示信息,如圖5-4 提示信息。</p><p> 圖5-4 提示信息</p><p> 注冊成功后跳轉(zhuǎn)到首頁,顯示注冊的用戶名已經(jīng)登錄。</
76、p><p><b> 5.1.3 代碼</b></p><p> 1、Action層關(guān)鍵代碼如下:</p><p> //注冊的方法,調(diào)用service層</p><p> //userVO表示的是頁面填寫的信息,session表示會話</p><p> //如果成功則跳轉(zhuǎn)到success
77、,否側(cè)跳轉(zhuǎn)到registerfailure</p><p> public String register(){</p><p> boolean flag = userService.RegisterService(userVO,session);</p><p><b> if(flag){</b></p><p&
78、gt; return SUCCESS;</p><p><b> }</b></p><p> else return "registerfailure";</p><p><b> }</b></p><p> 2、Service層關(guān)鍵代碼如下:</p>
79、<p> //service層是服務(wù)層,唄action層調(diào)用,同時又調(diào)用dao層</p><p> public boolean RegisterService(UserVO uservo,HttpSession session){</p><p> BBSUser user=userDao.findUserByName(uservo.getUserName());<
80、;/p><p> if (user != null)</p><p> return false;</p><p><b> else {</b></p><p> user = new BBSUser();</p><p> user.setUserName(uservo.getUserN
81、ame());</p><p> user.setPassWord(uservo.getPassWord());</p><p> user.setAnswer(uservo.getAnswer());</p><p> user.setPwdQuestion(uservo.getPwdQuestion());</p><p> us
82、er.setCreateTime(new Date());</p><p> user.setGender("男");</p><p> user.setEmail("");</p><p> user.setAuthority("1");//默認(rèn)值</p><p> use
83、r.setRole("1");//默認(rèn)值</p><p> userDao.saveObject(user);</p><p> user=userDao.findUserByName(uservo.getUserName());</p><p> session.setAttribute("user", user);&
84、lt;/p><p> return true;</p><p><b> }</b></p><p><b> }</b></p><p> 3、Dao層關(guān)鍵代碼如下:</p><p> //dao層直接與數(shù)據(jù)庫連接,被service層調(diào)用</p><
85、;p> //都是利用hibernate封裝好的數(shù)據(jù)庫操作</p><p> public void saveObject(Object obj){</p><p> Session s = null;</p><p> Transaction tx = null;</p><p><b> try{</b>
86、;</p><p> s = this.getSession();</p><p> tx = s.beginTransaction();</p><p> s.save(obj);</p><p> tx.commit();</p><p><b> }</b></p>
87、<p><b> finally{</b></p><p> if(s!=null)</p><p> s.close();</p><p><b> }</b></p><p><b> }</b></p><p><b>
88、; 5.2 用戶登錄</b></p><p> 用戶通過首頁直接登錄系統(tǒng),下面分別用數(shù)據(jù)流、頁面來說明用戶注冊的詳細(xì)設(shè)計。</p><p> 5.2.1 數(shù)據(jù)流</p><p> 登錄操作流程,如圖5-5 登錄操作流程。</p><p> 圖5-5 登錄操作流程</p><p><b
89、> 5.2.2 頁面</b></p><p> 用戶訪問網(wǎng)站的首頁,可以從首頁直接登錄,如圖5-6 登錄頁面。</p><p> 圖5-6 登錄頁面。</p><p> 也可以點擊右上角的登錄按鈕進(jìn)入登錄頁面,如圖5-7 登錄2</p><p><b> 圖5-7 登錄2</b>&l
90、t;/p><p><b> 5.3 發(fā)帖</b></p><p> 用戶登錄系統(tǒng)之后,進(jìn)入相應(yīng)的版塊,發(fā)表帖子。下面分別用數(shù)據(jù)流、頁面、代碼來說明用戶注冊的詳細(xì)設(shè)計。</p><p> 5.3.1 數(shù)據(jù)流</p><p> 發(fā)帖操作流程,如圖5-8 發(fā)帖操作流程。</p><p> 圖
91、5-8 發(fā)帖操作流程</p><p><b> 5.3.2 頁面</b></p><p> 用戶登錄之后,點擊相應(yīng)的版塊,在版塊下發(fā)表帖子,如果用戶已經(jīng)被禁言則會彈相應(yīng)的提示信息,否則進(jìn)入發(fā)帖頁面,如圖5-9發(fā)帖。</p><p><b> 圖5-9發(fā)帖</b></p><p><b
92、> 5.3.3 代碼</b></p><p> 1、action層關(guān)鍵代碼</p><p> //action層主要就是為了調(diào)用service層的pubPostService方法</p><p> public String pubPost(){</p><p> boolean flag = postServi
93、ce.pubPostService(postVO, session);</p><p><b> if(flag){</b></p><p> return SUCCESS;</p><p><b> }</b></p><p> else return "registerfail
94、ure";</p><p><b> }</b></p><p> 2、service層關(guān)鍵代碼</p><p><b> /**</b></p><p><b> * 發(fā)帖方法</b></p><p> * @param postv
95、o 帖子的界面實體</p><p> * @param session 用戶會話</p><p> * @return 返回發(fā)帖成功或失敗boolean值</p><p><b> */</b></p><p> public boolean pubPostService(PostVO postvo,HttpS
96、ession session){</p><p> BBSUser user=(BBSUser)session.getAttribute("user");</p><p> BBSPost post = new BBSPost();</p><p> post.setUserName(user.getUserName());</p
97、><p> post.setPostTitle(postvo.getPostTitle());</p><p> post.setPostContent(postvo.getPostContent());</p><p> post.setPostType(postvo.getPostType());</p><p> SimpleDat
98、eFormat s=new SimpleDateFormat("yyyyMMddHHmmss");</p><p> post.setPostId(user.getUserName()+s.format(new Date()));</p><p> post.setCheckState("1");</p><p> po
99、st.setPostTime(new Date());</p><p> post.setClickRate(1l);</p><p> post.setPostState("0");</p><p> post.setPostModifytime(new Date());</p><p> post.setPos
100、tFormat("0");</p><p> postDao.saveObject(post);</p><p> return true;</p><p><b> } </b></p><p> 3、dao層關(guān)鍵代碼</p><p><b> /*
101、</b></p><p> * 保存實體對象,直接調(diào)用hibernate封裝的數(shù)據(jù)庫操作</p><p> * @see com.bbs.dao.IDao#saveObject(java.lang.Object)</p><p><b> */</b></p><p><b> @Overr
102、ide</b></p><p> public void saveObject(Object obj) {</p><p> // TODO Auto-generated method stub</p><p> Session s = null;</p><p> Transaction tx = null;</p
103、><p><b> try{</b></p><p> s = this.getSession();</p><p> tx = s.beginTransaction();</p><p> s.save(obj);</p><p> tx.commit();</p><
104、p><b> }</b></p><p><b> finally{</b></p><p> if(s!=null)</p><p> s.close();</p><p><b> }</b></p><p><b> }
105、</b></p><p><b> 5.4 回帖</b></p><p> 用戶進(jìn)入點擊帖子之后進(jìn)入帖子頁面,下面分別用數(shù)據(jù)流、頁面、代碼來說明用戶注冊的詳細(xì)設(shè)計。</p><p> 5.4.1 數(shù)據(jù)流</p><p> 回帖操作流程,如圖5-10 回帖操作流程。</p><
106、p><b> 5.4.2 頁面</b></p><p> 用戶進(jìn)入點擊帖子之后進(jìn)入帖子頁面,點擊上方的按鈕進(jìn)入回帖頁面,如圖5-7回帖</p><p><b> 圖57 回帖</b></p><p><b> 5.5 審核發(fā)帖</b></p><p><
107、;b> 5.5.3 代碼</b></p><p> 1、action層關(guān)鍵代碼</p><p> //審核發(fā)帖就是修改帖子bbspost表中的state的值。</p><p> public String verify1(){//按帖子號審核帖子 通過</p><p><b> byte[] a;&l
108、t;/b></p><p><b> try {</b></p><p> a = postId.getBytes("ISO-8859-1");</p><p> postId=new String(a, "UTF-8");</p><p> } catch (Uns
109、upportedEncodingException e) {</p><p> // TODO Auto-generated catch block</p><p> e.printStackTrace();</p><p><b> }</b></p><p> String state = "2&q
110、uot;;//要修改的字段的值</p><p> this.setBbsPosts(postService.getPostService(postId,state));</p><p> return SUCCESS;</p><p><b> }</b></p><p><b> 結(jié) 論</b
111、></p><p> 經(jīng)過兩個月的努力,基于java技術(shù)的BBS論壇系統(tǒng)終于順利完成。從前期開始的需求分析道最終的實現(xiàn),經(jīng)過多次的修改,功能基本完善,達(dá)到預(yù)期目標(biāo)。設(shè)計和開發(fā)的這個系統(tǒng)具有很大的擴(kuò)展性,后期有需要可以添加新的功能,系統(tǒng)的分析與定義都結(jié)合了現(xiàn)在流行的面向?qū)ο蠓椒ㄒ约皞鹘y(tǒng)的結(jié)構(gòu)分析與設(shè)計方法。</p><p> 本設(shè)計基本完成前期需求分析中的功能需求,對每種用戶都分了
112、權(quán)限,游客、注冊用戶、版主、管理員,每種用戶所對應(yīng)的的功能也已實現(xiàn),其中游客可以瀏覽帖子和瀏覽回帖,注冊用戶可以發(fā)帖和回帖,版主可以審核帖子,管理員可以管理用戶和帖子。對于系統(tǒng)的前臺和后臺兩個模塊所提出的的功能也已實現(xiàn),前臺提供用戶登錄注冊的功能,后臺提供管理員對用戶和帖子的管理。系統(tǒng)仍有不足的地方,例如對敏感字的過濾功能沒有實現(xiàn)。</p><p> 本次畢業(yè)設(shè)計是我在參加正式工作前的一次很好地實踐機(jī)會,培養(yǎng)了
113、我獨立思考的能力、自學(xué)的能力和獨立解決問題的能力,更好的認(rèn)清自己的能力,為將來適應(yīng)社會的需要做準(zhǔn)備。</p><p><b> 參考文獻(xiàn)</b></p><p> [1]《數(shù)據(jù)庫系統(tǒng)概論》 (第三版) 高等教育出版社 主編:薩師煊 王珊</p><p> [2]《java編程思想》 (第四版)電子工業(yè)出版社</p><
114、p> [3]《鋒利的jQuery》 人民郵電出版社</p><p> [4]《java 從入門到精通》人民郵電出版社</p><p> [5]《設(shè)計模式中文版>>中國電力出版社</p><p> [6]精通Hibernate:Java對象持久化技術(shù)詳解(第2版)》孫衛(wèi)琴(作者) 電子工業(yè)出版社</p><p> [
溫馨提示
- 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è)論文--基于java技術(shù)的論壇(bbs)
- 基于java_web技術(shù)開發(fā)的bbs論壇
- 基于javaweb技術(shù)開發(fā)的bbs論壇
- java版bbs論壇設(shè)計畢業(yè)論文
- 畢業(yè)設(shè)計(論文)-基于java技術(shù)的論壇(bbs)
- 畢業(yè)論文---基于java的web的bbs論壇設(shè)計
- 基于java的bbs論壇設(shè)計畢業(yè)論文(含源文件)
- bbs論壇畢業(yè)論文
- bbs論壇畢業(yè)論文
- bbs畢業(yè)論文----網(wǎng)絡(luò)bbs論壇系統(tǒng)
- 畢業(yè)論文——bbs論壇系統(tǒng)
- 畢業(yè)論文bbs論壇設(shè)計論文
- 基于java的論壇bbs的實現(xiàn)(doc畢業(yè)設(shè)計論文)
- 基于J2EE技術(shù)開發(fā)高校BBS論壇.pdf
- 基于jsp的bbs論壇管理系統(tǒng) 畢業(yè)論文
- bbs論壇系統(tǒng)_畢業(yè)論文_完整
- jsp課程設(shè)計 基于jsp技術(shù)開發(fā)的bbs論壇系統(tǒng)
- 網(wǎng)絡(luò)bbs論壇系統(tǒng)畢業(yè)論文
- BBS論壇畢業(yè)論文(1).doc
- 畢業(yè)論文范文——bbs論壇
評論
0/150
提交評論