![基于WEB的游戲論壇的設(shè)計與實現(xiàn)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/30/02cda37f-642d-4743-b67c-08b6c6628360/02cda37f-642d-4743-b67c-08b6c66283601.gif)
![基于WEB的游戲論壇的設(shè)計與實現(xiàn)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/30/02cda37f-642d-4743-b67c-08b6c6628360/02cda37f-642d-4743-b67c-08b6c66283602.gif)
![基于WEB的游戲論壇的設(shè)計與實現(xiàn)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/30/02cda37f-642d-4743-b67c-08b6c6628360/02cda37f-642d-4743-b67c-08b6c66283603.gif)
![基于WEB的游戲論壇的設(shè)計與實現(xiàn)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/30/02cda37f-642d-4743-b67c-08b6c6628360/02cda37f-642d-4743-b67c-08b6c66283604.gif)
![基于WEB的游戲論壇的設(shè)計與實現(xiàn)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/30/02cda37f-642d-4743-b67c-08b6c6628360/02cda37f-642d-4743-b67c-08b6c66283605.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 畢業(yè)設(shè)計(論文)報告學(xué)生畢業(yè)設(shè)計(論文)報告系 別: 專 業(yè): 班 級: 學(xué) 生 姓 名: 學(xué) 生 學(xué) 號: 設(shè) 計(論文)題目:基于WEB的游戲論壇的設(shè)計與實現(xiàn) 指 導(dǎo) 教 師: 設(shè) 計 地 點: 起 迄 日 期: 畢業(yè)設(shè)計(論文)任務(wù)書專業(yè) 班級 姓名 一、課題名稱: 基于WEB的游戲論壇的設(shè)計與實現(xiàn) 二、主要技術(shù)指標(biāo): 1、用戶界面美觀大方、系統(tǒng)可正常運行 2、論文格式應(yīng)符合規(guī)范,主要包含:1)選題背景與意義; 2)軟件開發(fā) 與運行環(huán)境;3) 軟件設(shè)計過程(主要包含總體方案與詳細(xì)模塊設(shè)計、數(shù) 據(jù)庫設(shè)計、程序設(shè)計); 4)軟件運行效果; 5)設(shè)計總結(jié) 3、論文中應(yīng)有一定數(shù)量的流程圖、程序
2、代碼、運行效果截圖等內(nèi)容 三、工作內(nèi)容和要求: 1、系統(tǒng)總體設(shè)計、功能模塊設(shè)計 要求:1) 本模塊與課題由本人 獨立完成; 2)整理設(shè)計結(jié)果文檔 2、數(shù)據(jù)庫設(shè)計 要求:1)本模塊與課題由本人獨立完成; 2)包含數(shù)據(jù)庫系 統(tǒng)的表結(jié)構(gòu)圖、表間關(guān)系統(tǒng)描述 、各模塊用到的視圖和存儲過程 3、用戶界面設(shè)計 要求:1)直觀地體現(xiàn)各模塊的功能;2)界面友好 4、程序設(shè)計與功能調(diào)試 要求: 1)程序結(jié)構(gòu)清晰,便于檢查和調(diào)試;2)所 寫程序應(yīng)符合功能設(shè)計的要求; 3)訪問數(shù)據(jù)庫部分全部編寫相應(yīng)的存儲過程 5、編著畢業(yè)設(shè)計論文 要求:1)論文中應(yīng)含各項工作內(nèi)容; 2)論文的最后 部分應(yīng)含設(shè)計總結(jié); 3)滿足要求的
3、字?jǐn)?shù)、嚴(yán)禁抄襲 四、主要參考文獻(xiàn):_ _ 1、Bruce Eckel. java編程思想M.第四版. 北京:機(jī)械工業(yè)出版社. 2007年. 2、李剛. 瘋狂java講義M. 北京:電子工業(yè)出版社.2012年. 3、李興華. java開發(fā)實戰(zhàn)經(jīng)典M. 北京:清華大學(xué)出版社.2009年. 4、孫鑫. java web開發(fā)詳解M. 北京:電子工業(yè)出版社.2012年. 5、布里泰恩. Tomcat權(quán)威指南M. 北京:中國電力出版社.2010年. 學(xué) 生(簽名) 年 月 日 指 導(dǎo) 教師(簽名) 年 月 日 教研室主任(簽名) 年 月 日系 主 任(簽名) 年 月 日畢業(yè)設(shè)計(論文)開題報告設(shè)計(論文題
4、目)基于WEB的游戲論壇的設(shè)計與實現(xiàn)一、 選題的背景和意義: 網(wǎng)站打造的可互動的環(huán)境可以稱為一個論壇,而用戶在論壇中的行為稱為社交,一群人聚集在一個環(huán)境中交流。一直以來都有個感觸,對于互聯(lián)網(wǎng)產(chǎn)品而言,貌似幾乎所有的產(chǎn)品都希望搭上論壇的概念,有了社交這層意義后不僅意味著有了UGC,而且產(chǎn)品也就成為了一個可以依靠用戶自身創(chuàng)造內(nèi)容而自行循環(huán)的系統(tǒng)。游戲論壇的目標(biāo)用戶群體自然是游戲玩家,我們可以列出游戲玩家的很多心理特性,例如攀比心強(qiáng)、喜歡炫耀等,只可惜并不是用戶的一個特性就適用于所有的產(chǎn)品的。理想愿景中,游戲廠商是希望借助論壇讓網(wǎng)絡(luò)玩家之間能夠互推游戲,既加深所玩游戲的深度并且增加玩家接觸新游戲的可
5、能性。二、 課題研究的主要內(nèi)容:本課程主要研究游戲論壇的設(shè)計與實現(xiàn)。該項目前臺開發(fā)工具采用MyEclipse8.5,后臺數(shù)據(jù)庫采用MySQL5.0。前臺主要功能是顯示各論壇類別及版面、查看版面下所有根帖、查看自己發(fā)表的帖子、搜索帖子、查看根帖內(nèi)容、用戶注冊、用戶登錄、發(fā)表帖子、回復(fù)帖子;后臺主要功能是論壇類別管理、版面管理、用戶管理、用戶注冊。本文主要研究該項目的總體設(shè)計、模塊劃分、模塊詳細(xì)設(shè)計及編程關(guān)鍵技術(shù)。三、主要研究(設(shè)計)方法論述:本課題采用B/S結(jié)構(gòu)進(jìn)行開發(fā),前臺開發(fā)工具采用MyEclipse8.5,后臺數(shù)據(jù)庫采用MySQL5.0。本項目主要使用的是MVC設(shè)計模式進(jìn)行設(shè)計開發(fā),項目中
6、訪問數(shù)據(jù)庫統(tǒng)一通過對應(yīng) Bean 的DAO 類來操作。 在這些DAO類中,定義了相關(guān)Bean的增刪改查的方法,此外還專門有一個BaseDAO類,該類是實際執(zhí)行SQL語句的類,在Bean類對應(yīng)的DAO類中只是寫了SQL語句,通過在DAO類中定義一個BaseDAO類的成員對象,來執(zhí)行SQL語句。使用MVC和BaseDAO這種設(shè)計的主要優(yōu)點是易于項目的后期維護(hù)與管理,將執(zhí)行SQL語句的方法統(tǒng)一交給一個類來管理,而數(shù)據(jù)庫的連接操作也是只有BaseDAO類來實現(xiàn)。另外,在數(shù)據(jù)庫設(shè)計方面,用戶、回復(fù)、主題、版塊各為一張表,在項目中,每個表對應(yīng)一個Bean,每個Bean對應(yīng)一個DAO;這樣一來,項目的結(jié)構(gòu)也
7、很清晰。四、設(shè)計(論文)進(jìn)度安排:時 間工 作 內(nèi) 容6.196.23聯(lián)系指導(dǎo)老師、確定選題6.236.24畢業(yè)設(shè)計任務(wù)書6.246.26完成開題報告6.266.27收集資料,修改開題報告6.277.06畢業(yè)設(shè)計論文撰寫6.267.16畢業(yè)設(shè)計的部分編碼7.167.24畢業(yè)設(shè)計報告初稿的編寫7.247.31畢業(yè)設(shè)計論文、全部編碼以及項目測試五、指導(dǎo)教師意見: 指導(dǎo)教師簽名: 年 月 日六、系部意見: 系主任簽名: 年 月 日目 錄摘 要6Abstract7第1章 引言11.1課程的性質(zhì)11.2選題背景與依據(jù)1第2章 軟件開發(fā)與運行環(huán)境介紹22.1 軟件開發(fā)環(huán)境22.2 軟件運行環(huán)境32.2.1
8、前臺客戶端運行環(huán)境32.2.2后臺服務(wù)器端運行環(huán)境3第3章 分析設(shè)計43.1可行性分析43.2需求分析53.3論壇內(nèi)容板塊53.4論壇管理策略63.5系統(tǒng)分析63.5.1 繪制用例圖設(shè)計系統(tǒng)功能63.5.2繪制系統(tǒng)流程圖73.5.3數(shù)據(jù)庫分析與設(shè)計8第4章 論壇設(shè)計與實現(xiàn)104.1 開發(fā)平臺搭建104.2 程序結(jié)構(gòu)104.3 系統(tǒng)的實現(xiàn)114.3.1 登陸、注冊模塊的設(shè)計與實現(xiàn)114.3.2 展示模塊的設(shè)計與實現(xiàn)164.3,3 后臺編輯版塊功能的設(shè)計與實現(xiàn)194.3.4 搜索模塊的設(shè)計與實現(xiàn)22第5章 總結(jié)與致謝25參考文獻(xiàn)26摘 要論壇也就是人們常說的BBS(Bulletin Board S
9、ystem),也許有些人不了解,在最早的時候,BBS只是在蘋果系統(tǒng)上用來公布股市價格信息的一個工具。到現(xiàn)在,BBS的功能已經(jīng)有了很大的擴(kuò)充與完善,每個行業(yè)都有自己所屬的BBS。通過BBS,人們可以及時了解到一個行業(yè)的最新消息,也可以將自己知道的消息發(fā)到BBS上與別人共享。本論壇主要是為各類游戲玩家設(shè)計。論壇有前臺和后臺兩個大的部分,這兩個部分又分為以下幾個功能模塊:前臺主要功能是顯示各論壇類別及版面、查看版面下所有根帖、發(fā)表回復(fù)帖子、搜索帖子等功能;后臺主要功能是論壇類別管理、版塊管理、用戶管理。對于后臺部分的用戶管理,主要是對管理員進(jìn)行操作。本系統(tǒng)采用MVC設(shè)計模式進(jìn)行開發(fā)。項目中訪問數(shù)據(jù)庫
10、統(tǒng)一通過每個 Bean 對應(yīng)的DAO 類來操作。此外還專門有一個BaseDAO類,該類是實際執(zhí)行SQL語句的類,在DAO類中定義一個BaseDAO類的成員對象,通過baseDAOL執(zhí)行SQL語句。使用MVC和BaseDAO這種設(shè)計的主要優(yōu)點是將執(zhí)行SQL語句的方法統(tǒng)一交給一個類來管理,易于項目的后期維護(hù)與管理。關(guān)鍵詞:BBS、游戲論壇、MVC、DAO、設(shè)計模式AbstractThe forum is also known as BBS (Board System Bulletin), perhaps some people do not understand, at the earliest
11、time, BBS is only used to publish a tool for the stock market price information on apple system. By now, the function of BBS has been greatly expanded and improved, each industry has its own BBS. By BBS, people can learn the latest news in an industry, you can also know the message sent to the BBS a
12、nd others to share.This forum is designed for all kinds of game players. The forum has the onstage and the backstage two major parts, the two parts is divided into the following function modules: foreground main function is to display category and the layout of the forum, see the layout of all root
13、posts, a reply to posts, search posts and so on; the main functions of the background is the Forum category management, forum management, user management. For the background of the user management, mainly for the administrator to operate.This system uses the MVC design pattern to carry on the develo
14、pment. Items in the database are unified by each DAO corresponding to the Bean class to operate. In addition, there is also a BaseDAO class, which is the actual implementation of the SQL statement class, in the DAO class to define a class BaseDAO member objects, through the baseDAOL SQL statement. U
15、sing MVC and BaseDAO, the main advantage of this design is that the implementation of the SQL statement to a class of methods to manage, easy to maintain and manage the project.Key words: BBS, Game Forum, MVC, DAO, design pattern 畢業(yè)設(shè)計(論文)報告第1章 引言1.1課程的性質(zhì)本畢業(yè)設(shè)計是計算機(jī)軟件開發(fā)類的課題,主要研究方向為基于B/S模式的基于WEB的游戲論壇的設(shè)計
16、與實現(xiàn)一個為各類游戲玩家提供的交流性平臺。1.2選題背景與依據(jù)論壇就是人們口中的BBS,在BBS剛出現(xiàn)的時候,它只是在蘋果系統(tǒng)上用來公布股市價格信息的工具。到后來,有些人嘗試著將BBS轉(zhuǎn)移到個人計算機(jī)上,自此開始,BBS才被人熟知與使用。到現(xiàn)在,BBS的功能已經(jīng)有了很大的擴(kuò)充與完善,每個行業(yè)都有自己所屬的BBS,通過這個BBS,人們可以及時了解到這個行業(yè)的最新消息,也可以將自己知道的消息發(fā)到BBS上與別人共享。論壇又可以分為好多好多種,有教學(xué)型論壇、綜合類論壇、專題類論壇、推廣型論壇、交流性論壇等等。對于游戲論壇來說,無疑就是交流性論壇,游戲論壇的使用者自然也就是各種游戲玩家了,而且這些玩家大
17、多數(shù)都是青少年。在游戲論壇中,有多種游戲的版塊,每位游戲愛好者都可以在論壇中找到自己喜歡的游戲?qū)?yīng)的版塊,并且可以在該版塊中發(fā)帖、回帖來與眾多有相同愛好的朋友交流。先來了解一下網(wǎng)絡(luò)游戲的整體市場,從2000年左右開始起步發(fā)展,到2007年開始,整體的市場規(guī)模與數(shù)量得到了非常大的發(fā)展,增長率甚至達(dá)到了400%。包括2003年或者更早以前的棋牌類網(wǎng)絡(luò)游戲,到之后的RPG(Role-playing game)等等。實際上這些游戲的出現(xiàn),與游戲新類型的出現(xiàn),都慢慢在擴(kuò)大網(wǎng)絡(luò)游戲的市場,由于這些游戲分類也更加繁多與精細(xì),這就更加使得網(wǎng)絡(luò)游戲細(xì)分市場。就以舞蹈類游戲來說,從以前的休閑類游戲到現(xiàn)在的勁舞團(tuán)類
18、游戲,網(wǎng)絡(luò)游戲從一個大類逐漸變成了一個細(xì)分的市場。而且在中國,游戲給游戲廠商帶來的利潤也是非??捎^的,對于各種游戲玩家來說,就需要一個論壇來交流自己玩游戲的體驗、心得、困惑與難處。游戲廠商可以通過游戲論壇為自己的游戲做廣告,來讓玩家互推游戲,這樣可以加深玩家對游戲體驗的深度,也可以讓玩家接觸新開發(fā)的游戲。BBS一般用于大型公司或一些中小型企業(yè),是一個用來方便客戶交流的平臺,用戶可以發(fā)表一個主題,讓大家一起來研究、討論,也可以提出一些問題,讓大家一起解決,論壇具有較強(qiáng)的實時性、互動性。第2章 軟件開發(fā)與運行環(huán)境介紹2.1 軟件開發(fā)環(huán)境1. 開發(fā)環(huán)境在開發(fā)該游戲論壇的時候,使用的以下的環(huán)境進(jìn)行開發(fā)
19、: 操作系統(tǒng):Windows7。 Web服務(wù)器:Tomcat 6.0.32。 Java開發(fā)包:JDK 1.6。 數(shù)據(jù)庫:MySQL。 瀏覽器:IE8.0。 分辨率:最佳效果為1366768像素。本系統(tǒng)采用MVC架構(gòu)模式開發(fā),具體技術(shù)如下。顯示層:使用JSP技術(shù)開發(fā)控制層:使用Servlet技術(shù)開發(fā)模型層:使用JavaBean技術(shù)開發(fā)數(shù)據(jù)訪問層:使用DAO模式開發(fā)2.系統(tǒng)平臺結(jié)構(gòu)的選擇在當(dāng)下的應(yīng)用開發(fā)中,目前系統(tǒng)平臺的體系結(jié)構(gòu)主要有C/S(Client/Server)結(jié)構(gòu)和B/S(Brower/Server)結(jié)構(gòu)兩種。C/S結(jié)構(gòu),即客戶端和服務(wù)器端結(jié)構(gòu)。在幾年前,它是軟件系統(tǒng)主要的體系結(jié)構(gòu),因為
20、這種結(jié)構(gòu)可以充分利用兩端的硬件環(huán)境的優(yōu)勢,將任務(wù)合理的分配到Client端和Server端來處理,降低了系統(tǒng)的通訊開銷 。B/S結(jié)構(gòu),即瀏覽器對服務(wù)器結(jié)構(gòu)?,F(xiàn)在,這種結(jié)構(gòu)正成為主流的,受歡迎的結(jié)構(gòu),因為這種結(jié)構(gòu)開發(fā)有很多好處,它可以非常有效的保護(hù)數(shù)據(jù)平臺和控制管理訪問權(quán)限,這種結(jié)構(gòu)下,服務(wù)器數(shù)據(jù)庫也很安全;它是一次性到位的開發(fā),可以實現(xiàn):不同的人員,在不同的地點,以不同的接入方式時訪問和操作共同的數(shù)據(jù)庫。特別是在JAVA這個跨平臺語言出現(xiàn)之后,B/S架構(gòu)更是方便、快捷、高效。3.開發(fā)技術(shù)本畢業(yè)設(shè)計項目要求的開發(fā)技術(shù)為Java + MySQL,因此本項目主要技術(shù)采用JSP+Servlet進(jìn)行開發(fā)
21、,數(shù)據(jù)庫使用MySQL,對于JSP與Servlet也是Java EE的一部分,是Java EE中三大框架的基礎(chǔ)。除了主要技術(shù)之外,項目中還使用到了一些網(wǎng)頁前端的技術(shù):HTML、CSS、JS和一些JS的開源框架。 JSP + Servlet技術(shù):JSP技術(shù)與ASP技術(shù)特別相似,它是在傳統(tǒng)的HTML文件中插入Java程序段和JSP標(biāo)記形成JSP文件,后綴名為(*.jsp)。因為JSP技術(shù)也算是Java的一種擴(kuò)展,所以用JSP開發(fā)出來的Web應(yīng)用也可以跨平臺,既能在Windows下運行,也能在其他操作系統(tǒng)上運行。JavaScript技術(shù):JavaScript是一種腳本語言,目前已經(jīng)被廣泛用于Web應(yīng)
22、用開發(fā)和Web游戲開發(fā),使用JS可以為網(wǎng)頁添加各式各樣的動態(tài)功能,為用戶提供更流暢美觀的瀏覽效果。通常JavaScript腳本是嵌入在HTML中的。同Java一樣,JavaScript腳本語言不局限于某個操作系統(tǒng),僅需要瀏覽器的支持。因此一個JavaScript腳本,在編寫完成后可以在任意裝有支持JavaScript的瀏覽器的操作系統(tǒng)上運行,目前JavaScript幾乎已經(jīng)被所有的瀏覽器支持。2.2 軟件運行環(huán)境2.2.1前臺客戶端運行環(huán)境由于該項目是基于B/S的項目,所以運行的客戶端只需要一臺裝有一個可以正常上網(wǎng)的瀏覽器的系統(tǒng)即可,通過瀏覽器訪問網(wǎng)址:8080/LunTan/即可訪問項目,該
23、項目的最優(yōu)分辨率為1366*768。2.2.2后臺服務(wù)器端運行環(huán)境后臺管理系統(tǒng)和服務(wù)器端可以運行于Windows XP及以后的各種Windows操作系統(tǒng)版本之上。該操作系統(tǒng)需要搭建好Tomcat服務(wù)器,還需要安裝有MySQL數(shù)據(jù)庫。3 畢業(yè)設(shè)計(論文)報告第3章 分析設(shè)計3.1可行性分析在系統(tǒng)調(diào)查的基礎(chǔ)上還需要做一個可行性分析,分析判斷新系統(tǒng)的開發(fā)是否具備可能性和必要性,對新系統(tǒng)的開發(fā),要從技術(shù)、經(jīng)濟(jì)、社會等方面進(jìn)行分析和研究,經(jīng)過分析,可以避免投資失誤,進(jìn)而保證新系統(tǒng)的成功開發(fā)??尚行匝芯康闹饕康木褪且米钚〉拇鷥r,在最短的時間內(nèi)確定問題是否能被解決。1技術(shù)可行性主要分析技術(shù)條件是否能達(dá)到
24、順利完成開發(fā)工作的要求,硬件、軟件能否滿足開發(fā)者的需要等。該游戲論壇管理系統(tǒng)采用了目前非常流行的JSP+Servlet語言和當(dāng)前新興的B/S(瀏覽器/服務(wù)器)模式進(jìn)行開發(fā)。B/S體系結(jié)構(gòu)具有許多傳統(tǒng)C/(客戶機(jī)/服務(wù)器)體系結(jié)構(gòu)沒有的優(yōu)點,而且又緊密的結(jié)合了國際互聯(lián)網(wǎng)/企業(yè)內(nèi)部互聯(lián)網(wǎng)技術(shù),所以B/S是技術(shù)發(fā)展的新起點,它把應(yīng)用帶入了一個嶄新的發(fā)展時代。數(shù)據(jù)庫服務(wù)器選用的是MySQL數(shù)據(jù)庫,它能夠處理較大量的數(shù)據(jù),同時能保持?jǐn)?shù)據(jù)的完整性并提供了一些高級管理功能。MySQL的安全性、靈活性和易用性為論壇系統(tǒng)的數(shù)據(jù)庫編程提供了良好的條件。因此,系統(tǒng)的軟件開發(fā)平臺已成熟可行。硬件方面,現(xiàn)如今硬件更新的
25、速度越來越快,可靠性也越來越高,而且價格還越來越低,大多數(shù)硬件平臺都能滿足。2.經(jīng)濟(jì)可行性主要對項目的經(jīng)濟(jì)效益(開發(fā)成本與后期的收益)進(jìn)行評估,本系統(tǒng)是提供一個供游戲玩家交流與分享的平臺。但實際上也只是用于個人的畢業(yè)設(shè)計,因此只是模擬,并不存在資金的流動,故在經(jīng)濟(jì)上是可行的,如果后期在工作中做到了這個項目,還需要認(rèn)真分析經(jīng)濟(jì)的可行性。3.社會可行性由于現(xiàn)在游戲分類更加繁多與精細(xì),這就更加使得網(wǎng)絡(luò)游戲細(xì)分市場。就以舞蹈類游戲來說,從以前的休閑類游戲到現(xiàn)在的勁舞團(tuán)類游戲,網(wǎng)絡(luò)游戲從一個大類逐漸變成了一個細(xì)分的市場。而且在中國,游戲給游戲廠商帶來的利潤也是非常可觀的,對于各種游戲玩家來說,就需要一個
26、論壇來交流自己玩游戲的體驗、心得、困惑與難處。游戲廠商可以通過游戲論壇為自己的游戲做廣告,來讓玩家互推游戲,這樣可以加深玩家對游戲體驗的深度,也可以讓玩家接觸新開發(fā)的游戲。所以說游戲論壇對當(dāng)今社會還是相當(dāng)重要的。3.2需求分析1.功能性需求開發(fā)游戲論壇系統(tǒng)的主要目的是為愛好游戲者提供一個供用戶交流心得、分享經(jīng)驗、分享游戲攻略的平臺和社區(qū)。因此,游戲論壇系統(tǒng)必須要有最基本的功能:發(fā)表主題,其次是其他人員根據(jù)各個主題發(fā)表自己的看法,也就是回復(fù)主題功能。此外,為了記錄帖子的發(fā)表者和帖子的回復(fù)者信息,系統(tǒng)還需要有用戶注冊和登錄這兩個功能。只有經(jīng)過成功注冊,獲得賬號的用戶,在登錄后才能夠發(fā)表和回復(fù)帖子,
27、瀏覽者也就是游客,只能瀏覽主題信息,不可以回復(fù)與發(fā)表主題,如果想要發(fā)表主題,需要經(jīng)過登陸驗證。根據(jù)用戶的需求及以上的功能分析,游戲論壇需要具備前臺展現(xiàn)功能和后臺管理功能 。(1)系統(tǒng)前臺功能:顯示各論壇類別及版面、查看版面下所有根帖、查看自己發(fā)表的帖子、搜索帖子、查看根帖內(nèi)容、用戶注冊、用戶登錄、發(fā)表帖子、回復(fù)帖子(2)系統(tǒng)后臺功能:進(jìn)入后臺、論壇類別管理、版面管理、用戶管理、用戶注冊。2非功能性需求(1)平臺要求:項目開發(fā)基于Windows7操作系統(tǒng),開發(fā)需要使用到MySQL數(shù)據(jù)庫,Tomcat服務(wù)器,在使用該論壇時,因為基于B/S架構(gòu),計算機(jī)上必須安裝有瀏覽器,此外不需要安裝其他軟件。(2
28、)操作方式:全部操作都基于瀏覽器進(jìn)行。3.3論壇內(nèi)容板塊內(nèi)容的版塊分為以下4個區(qū)域:(1)登陸注冊區(qū)A已經(jīng)有賬號的用戶可以通過點擊安全登錄按鈕,進(jìn)行登陸操作,沒有賬號的用戶需要點擊注冊鏈接,進(jìn)入另一個界面進(jìn)行注冊。(2)帖子搜索區(qū)A. 通過該功能,為用戶提供方便,當(dāng)用戶看過一些高質(zhì)量或者對自己有用的帖子之后,如果想再次瀏覽該貼,但是在發(fā)帖區(qū)已經(jīng)找不到該主題,此時就可以通過關(guān)鍵字,來搜索相關(guān)的帖子。(3)頁面導(dǎo)航區(qū)A該區(qū)顯示效果: 論壇首頁 LOL英雄聯(lián)盟 英雄聯(lián)盟子版塊,“”之后的文字可以點擊,通過點擊這些文字,可以直接跳轉(zhuǎn)到指定的版塊,最有一個提示文字為用戶當(dāng)前瀏覽的版塊。(4)論壇游戲?qū)^(qū)
29、在這里列出了部分熱門網(wǎng)游,網(wǎng)頁游戲,單機(jī)游戲,點擊游戲圖標(biāo)或者文字,可以進(jìn)入對應(yīng)游戲的交流區(qū),比如LOL英雄聯(lián)盟、武林外傳、地下城與勇士、天涯明月刀等等,這些數(shù)據(jù)都是從數(shù)據(jù)庫中取出,管理員可以對這些板塊進(jìn)行相應(yīng)的操作。3.4論壇管理策略游戲論壇中,有管理員身份的用戶,可以進(jìn)入后臺,直接對游戲版塊進(jìn)行添加、刪除、編輯等操作;可以管理用戶,將用戶設(shè)置為版主,取消某個用戶的版主身份,除了后臺相應(yīng)的管理模塊之外,管理員還可以直接對用戶發(fā)的帖子進(jìn)行刪除與修改。身為版主的用戶相比于普通用戶來說,版主可以管理自己的版塊,對自己版塊中的主題與用戶回復(fù)進(jìn)行修改與刪除操作,但是不可以修改非自己管轄范圍的版塊。對于
30、版主的選擇,應(yīng)該選擇那寫有相應(yīng)游戲與管理經(jīng)驗的人員,有充足的上網(wǎng)時間,可以對其他用戶朋友提出一些游戲經(jīng)驗,可以經(jīng)常發(fā)表一些高質(zhì)量的主題。對于普通用戶來說,普通用戶可以發(fā)帖、回帖,可以查看自己發(fā)表的帖子,可以對自己已經(jīng)發(fā)表的帖子和回復(fù)做出修改。3.5系統(tǒng)分析3.5.1 繪制用例圖設(shè)計系統(tǒng)功能論壇用戶一共有三種權(quán)限,分別是普通用戶、版主以及管理員。下面就來分析這三個角色所對應(yīng)的用例圖:圖3-1普通用戶和管理員用例圖圖3-2論壇版主用例圖3.5.2繪制系統(tǒng)流程圖戲論壇系統(tǒng)包括前臺和后臺兩個部分,這里需要分別為其繪制流程圖。流程圖如圖所示:圖3-3系統(tǒng)后臺流程圖圖3-4系統(tǒng)前臺流程圖3.5.3數(shù)據(jù)庫分
31、析與設(shè)計用戶表主要存放了網(wǎng)站上注冊的所有用戶(管理員、普通用戶)的信息。表3-1用戶表列名數(shù)據(jù)類型長度允許空主鍵外鍵描述uIdint11NYN主鍵自增uNamevarchar10NNN非空uPassWordvarchar20NNN非空uSexvarchar1YNN非空,默認(rèn)0uFacevarchar50YNN默認(rèn)default.jpguRegTimedatetimeNNN注冊時間uTypeint11YNN默認(rèn)0,用戶類型版塊表中存放了論壇中所有的版塊,和版塊有關(guān)的數(shù)據(jù)信息。表3-2版塊表列名數(shù)據(jù)類型長度允許空主鍵外鍵描述sIdint11NYN主鍵自增sNamevarchar10NNN非空sTo
32、picCountint11NNN非空,默認(rèn)0sMasterIdint11YNN非空,默認(rèn)-1sParentIdint11NNN父版塊IDsPicvarchar50NNN默認(rèn)default.jpgsUidint11YNY版塊版主ID發(fā)帖表中紀(jì)錄了所有注冊用戶發(fā)過的主題帖,表中還包含了與某個主題相關(guān)的一些數(shù)據(jù)。表3-3主題(發(fā)帖)表列名數(shù)據(jù)類型長度允許空主鍵外鍵描述tIdint11NYN主鍵自增tSIdint11NNY非空tUIdint11NNY非空,默認(rèn)0tTopicvarchar30NNN主題標(biāo)題tContentstextNNN主題內(nèi)容tReplyCountint11NNN主題回復(fù)數(shù)量tPub
33、lishTimevarchar20NNN主題發(fā)布時間tModifyTimevarchar20YNN主題修改時間回帖表與主題表類似,都有回帖主題與回帖內(nèi)容等信息,此外還有回帖對應(yīng)的主題ID與板塊ID。表3-4回帖表列名數(shù)據(jù)類型長度允許空主鍵外鍵描述rIdint11NYN主鍵自增rTIdint11NNY非空rSIdint11NNY非空rUIdint11NNY非空,默認(rèn)-1rTopicvarchar20YNN回帖標(biāo)題rContentstextNNN回帖主要內(nèi)容rPublishTimevarchar20YNY回復(fù)發(fā)布時間rModifyTimeint20YNY回復(fù)修改時間第4章 論壇設(shè)計與實現(xiàn)4.1 開
34、發(fā)平臺搭建開發(fā)平臺的搭建是系統(tǒng)實現(xiàn)的基礎(chǔ),系統(tǒng)開發(fā)平臺如下:(1) 操作系統(tǒng):服務(wù)器操作系統(tǒng)可選用在Windows XP系統(tǒng)或win7,本項目選用的是win7系統(tǒng)。(2) 服務(wù)器:選擇Tomcat6.0.32作為Web服務(wù)器。(3) 數(shù)據(jù)庫系統(tǒng):數(shù)據(jù)庫選用的是MySql5。(4) 開發(fā)環(huán)境:本系統(tǒng)選擇My Eclipse8.5作為開發(fā)工具。4.2 程序結(jié)構(gòu)圖4-1程序結(jié)構(gòu)圖LunTan為項目的名稱,也是項目的根目錄。src目錄包含如下幾個部分:操作數(shù)據(jù)庫的DAO:com.dao包,用戶、主題、回復(fù)、板塊的JavaBean:com.entity,檢驗用戶輸入信息是否合法(如:板塊的名稱是否為2-
35、20個字符)的工具類:com.match,為了方便某個頁面的展示(如:需要在頁面上顯示導(dǎo)航欄,專門為導(dǎo)航欄設(shè)置了一個JavaBean,這樣設(shè)計可以方便的操作導(dǎo)航欄),專門為頁面設(shè)計的JavaBean類:com.page,項目中的所有的Servlet:com.servlet,一些項目需要用到的工具類:com.util。WebRoot 下的WEB-INF、lib目錄及web.xml依然為固定的目錄和文件,style為界面美化的css、js的目錄,image存放了項目中用到的所有的圖片。4.3 系統(tǒng)的實現(xiàn)4.3.1 登陸、注冊模塊的設(shè)計與實現(xiàn)進(jìn)入游戲論壇首頁,在用戶名和密碼輸入框中分別輸入用戶名和密
36、碼,點擊“安全登錄”圖片按鈕,系統(tǒng)將所輸入的內(nèi)容保存在session中,并在bbs.userinfo表中查詢,判斷用戶輸入的數(shù)據(jù)在數(shù)據(jù)庫中是否存在并且匹配,如果結(jié)果true則登錄成功。登陸成功之后,會在主頁中顯示用戶名、用戶頭像信息,如果是管理員,還會顯示一個“進(jìn)入后臺”的標(biāo)簽,通過超鏈接,進(jìn)入論壇后臺管理。圖4-2 登錄頁面如果用戶訪問論壇之前沒有登陸,那么會在論壇首頁上顯示一個“安全登錄”的圖片按鈕,該按鈕表示用戶還未登陸,用戶可以直接點擊該按鈕進(jìn)行登陸,在該按鈕的旁邊有一個注冊的超鏈接,可以直接點擊進(jìn)入注冊界面。當(dāng)用戶選擇注冊功能時,頁面會跳轉(zhuǎn)到用戶注冊界面,當(dāng)用戶完善自己的基本信息之后
37、,并且填寫了正確的驗證碼,那么網(wǎng)站會直接跳轉(zhuǎn)到登陸界面,在這個界面中,用戶名和密碼的輸入框已經(jīng)自動填寫上了用戶剛剛注冊的數(shù)據(jù),直接點擊登陸按鈕,即可成功登陸,如果用戶在登陸界面填寫的信息不合法,會通過 JS 和 Servlet 進(jìn)行不合法信息的驗證與提示。圖4-3注冊頁面關(guān)于用戶頭像功能:由于注冊界面需要用戶上傳一張自己的頭像(如果不上傳,會使用默認(rèn)的頭像),本項目只是使用JSP+Servlet進(jìn)行開發(fā),沒有使用SSH框架,所以在上傳圖片這塊,使用的是一個開源框架 SmartUpload,專門用來處理JSP中圖片和文件上傳的操作。當(dāng)在reg.jsp中填寫好注冊的信息之后,會將這些信息交給Ser
38、vletReg.java這個Servlet來處理,因為使用了SmartUpload框架,所以在接收parameter參數(shù)時,直接使用request.getParameter(“param”);無法接收到表單傳遞的參數(shù),此時需要使用到 SmartUpload提供的方法來處理傳遞到本頁中的參數(shù):smartUpload.getRequest().getParameter(“param”);,這樣就可以正常接收到參數(shù)了。解決了參數(shù)的接收問題,還有一個最重要的問題就是處理用戶上傳的頭像圖片,首先,要先獲取到用戶上傳的圖片,并將圖片保存到服務(wù)器端,這里會有幾個問題:1.如何獲取到用戶上傳的圖片 2.如果用
39、戶上傳的文件不是圖片怎么處理 3.如果用戶上傳的圖片名稱與服務(wù)器端的某張圖片名稱重名了怎么處理。問題解決:1.因為使用SmartUpload可以一次上傳多個文件,當(dāng)調(diào)用SmartUpload中的方法初始化好一個SmartUpload后,可以調(diào)用該類中的一個方法getFiles()來獲取用戶上傳的所有文件,該方法的返回值是一個Files類,通過Files類中的方法:getFile(index),可以得到下標(biāo)為index的文件,getFile()方法的返回值為java.io.File類,這樣就獲取到了用戶上傳的文件(圖片)。2.判斷用戶上傳的文件是否合法,根據(jù)面向?qū)ο蟮乃枷?,因為上傳文件的功能是S
40、martUpload這個框架提供的,所以在這個類中應(yīng)該有相應(yīng)的處理方法,經(jīng)過上網(wǎng)搜索,知道了在SmartUpload類中有一個方法setAllowedFilesList(“String”);通過該方法可以指定上傳的文件格式(String 格式為:param1,param2,param3),在調(diào)用了該方法之后,如果用戶上傳的文件不符合設(shè)置的后綴,那么將會拋出一個SecurityException,通過捕獲這個異常,在異常處理塊中做出一系列的處理。3.為了防止用戶上傳的圖片與服務(wù)器端的文件重名,肯定需要使用到時間戳為用戶上傳的文件重命名,為了更加保險,在本項目中還加上了IP地址,通過IP地址+時間
41、戳重新生成一個字符串作為文件名,這樣文件重名的幾率就會非常小了。以下列出了一些重要代碼:ServletReg.java中public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException /. 一些初始化方法/* 【獲取用戶的ip地址,實例化不重復(fù)文件名生成類的對象】*/IPTimeStamp its = new IPTimeStamp(request.getRemoteAddr();/*上傳表單,需要使用SmartUpload*/Sm
42、artUpload su = new SmartUpload(); / 實例化 SmartUpload 對象su.initialize(this.config, request, response); / 【初始化上傳操作】/*上傳圖片部分*/String allowed=jpg,bmp,png,gif; su.setAllowedFilesList(allowed); /【設(shè)置允許上傳的擴(kuò)展名】 su.setMaxFileSize(1024*1024*1); / 【設(shè)置允許上傳的文件的最大Size (1M)】try su.upload(); / 將文件上傳/su.save(image/sec
43、tion/); / 文件保存,在下邊使用另一個方法保存 catch (SmartUploadException e) e.printStackTrace();return; catch (SecurityException e) / 【如果捕獲到該異常,表示上傳的文件擴(kuò)展名不是允許的文件】out.print( + alert(上傳文件格式不正確!);+ window.history.back(); + );return;/* 獲取一個不重復(fù)文件名+文件后綴組成文件名。 */String ext = su.getFiles().getFile(0).getFileExt();String use
44、rFace = its.getIPTimeStampRand() + . + ext;if(ext=null | ext.trim().equals()userFace = default.jpg;elsetry su.getFiles().getFile(0).saveAs(image/head/ + userFace); / 保存文件 catch (SmartUploadException e) e.printStackTrace();/ . 其他代碼/ 將用戶信息插入數(shù)據(jù)庫if (udao.checkReg(userName, passWord, sexType, userFace, n
45、ew Date() /out.println(注冊成功!);request.getSession().setAttribute(userName, userName);request.getSession().setAttribute(passWord, passWord);response.sendRedirect(/LunTan/login.jsp); else out.println(服務(wù)器出錯,注冊失?。?;關(guān)于驗證碼功能:為了防止論壇出現(xiàn)軟件注冊等現(xiàn)象,需要在注冊的時候添加驗證碼功能,如果用戶輸入了正確的驗證碼,才可以進(jìn)行下一步操作。驗證碼功能的實現(xiàn)使用的是java的Swing,通過
46、在Servlet使用使用Swing畫出一個驗證碼矩形框,當(dāng)需要使用驗證碼圖片時,只需要在JSP中寫一個 標(biāo)簽,標(biāo)簽的src為該Servlet,這樣,就可以在網(wǎng)頁上顯現(xiàn)出來一個驗證碼了。驗證碼部分代碼:/ 獲取用戶輸入String yanzhengma = su.getRequest().getParameter(yanzhengma);/ 獲取Servlet中生成的驗證碼的正確答案String temp = (String)request.getSession().getAttribute(yanzhengma);String yzm = ;for(int i=0; i+yzm);System
47、.out.println(ServletReg:yanzhengma - +yanzhengma);/ 判斷用戶輸入的驗證碼if(yzm!=yanzhengma) & (!yzm.equalsIgnoreCase(yanzhengma)out.print( + alert(驗證碼輸入錯誤!); + window.history.back(); + );return;關(guān)于自己編寫的驗證碼這塊還有一個問題就是驗證碼圖片的緩存問題,因為所有的瀏覽器為了提高頁面的訪問速度,都有一個緩存的功能,也就是說,當(dāng)訪問某個網(wǎng)站的時候,瀏覽器會將該網(wǎng)站中的一些信息(如:圖片)保存到本地,當(dāng)下次訪問該網(wǎng)頁的時候,如
48、果本地已經(jīng)緩存了這些文件,那么就會直接使用本地的文件,而不會從服務(wù)器端下載;此時驗證碼圖片這塊就會有一個問題,當(dāng)用戶第一次訪問到驗證碼界面時,因為本地并沒有存儲過這張圖片,所以會從服務(wù)器端下載一張,當(dāng)?shù)诙卧L問的時候,因為在用戶本地已經(jīng)有了這張圖片,所以會直接使用用戶本地的圖片,為了讓驗證碼可以正常的更新與驗證,需要取消圖片的緩存,所以需要在Servlet端生成圖片驗證碼時執(zhí)行設(shè)置:response.setDateHeader(Expires, -1) ;response.setHeader(Pragma, no-cache) ;response.setHeader(Cache-Control
49、, no-cache) ;4.3.2 展示模塊的設(shè)計與實現(xiàn)在首頁的最上方為論壇的圖標(biāo)圖片,緊接著下方為一個功能欄,在功能欄中有登錄按鈕和注冊鏈接,還有一個搜索框,通過搜索框可以模糊查找用戶發(fā)表的帖子,下方一欄為網(wǎng)站導(dǎo)航欄,當(dāng)用戶層層進(jìn)入論壇某個主題帖時,如果想返回上一層版塊,可以直接點擊導(dǎo)航欄中的超鏈接進(jìn)行跳轉(zhuǎn)。再向下就是主要顯示區(qū)域了,在這個區(qū)域,顯示了數(shù)據(jù)庫中存放了所有的版塊,通過點擊版塊的圖標(biāo)或者名稱可以進(jìn)入對應(yīng)的版塊。圖4-4 論壇主界面論壇主頁中列出的是數(shù)據(jù)庫中找出的所有父版塊,當(dāng)點擊某個版塊之后,會跳轉(zhuǎn)到一個界面中,跳轉(zhuǎn)后的界面會顯示點擊的父版塊下的所有子版塊。圖4-5 論壇子版塊顯示界面以下為關(guān)鍵代碼:/* * 遞歸,根據(jù)版塊id獲得導(dǎo)航條* return List 返回一個集合 */public List getNavigationMenuById(Integer sId) String sql = select sParentId,sName from sectionInfo where sId = ?;try rs = dao.executeQuery(sql, new Object sId );if (rs != null & rs.next()
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)機(jī)售賣租賃合同范本
- 個人領(lǐng)養(yǎng)寵物合同范例
- 公建房屋維修合同范本
- 寫退貨合同范本
- 2人合伙人協(xié)議合同范例
- 農(nóng)村水井租賃合同范例
- 農(nóng)村住宅買賣租賃合同范本
- 仿古面磚采購合同范本
- 農(nóng)村水產(chǎn)養(yǎng)殖租賃合同范例
- 養(yǎng)殖奶牛合作合同范例
- 成本合約規(guī)劃培訓(xùn)
- 山東省濟(jì)寧市2025屆高三歷史一輪復(fù)習(xí)高考仿真試卷 含答案
- 五年級數(shù)學(xué)(小數(shù)乘法)計算題專項練習(xí)及答案
- 交通法規(guī)教育課件
- 產(chǎn)前診斷室護(hù)理工作總結(jié)
- 6S管理知識培訓(xùn)課件
- 小學(xué)校長任期五年工作目標(biāo)(2024年-2029年)
- 湖南省長郡中學(xué)2023-2024學(xué)年高二下學(xué)期寒假檢測(開學(xué)考試)物理 含解析
- 了不起的狐貍爸爸-全文打印
- 03fusionsphere虛擬化場景概要設(shè)計模板hld
- 火災(zāi)接警處置流程圖
評論
0/150
提交評論