基于bs的qq聊天軟件設(shè)計(jì)畢業(yè)論文_第1頁
已閱讀1頁,還剩87頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、<p>  2014 屆畢業(yè)設(shè)計(jì)說明書</p><p>  基于B/S的QQ聊天軟件的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  院 部: 計(jì)算機(jī)與信息科學(xué)學(xué)院 </p><p>  學(xué)生姓名: </p><p>  指導(dǎo)教師: 職稱 </p><

2、;p>  指導(dǎo)教師: 職稱 </p><p>  專 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) </p><p>  班 級: </p><p>  完成時(shí)間: 2014-5 </p><p><b>  摘 要<

3、;/b></p><p>  在當(dāng)今社會,隨著網(wǎng)絡(luò)的逐漸普及,互聯(lián)網(wǎng)已經(jīng)成為人們生活中必不可少的一部分,人們能夠從互連網(wǎng)上獲取所需要的信息并且通過互聯(lián)網(wǎng)與朋友親人交流,隨著網(wǎng)絡(luò)應(yīng)用越來越廣泛,如何快速獲取所需要的信息已經(jīng)成為時(shí)下必須要解決的問題。要開發(fā)一個聊天室,首先,在我們腦海中,要有這個聊天室的初步的整體概況。在諸多的公共聊天室中,其核心功能無非都是注冊登錄、群聊私聊、找回密碼、退出,而管理員的核心功能

4、大多數(shù)是登錄、用戶資料管理、在線用戶管理、聊天記錄管理等功能。在聊天頁面中,瀏覽器不斷的對文本或數(shù)據(jù)庫進(jìn)行刷新、讀取,并進(jìn)行實(shí)時(shí)更新在線的用戶。</p><p>  本聊天室系統(tǒng)由JSP技術(shù)與MySQL數(shù)據(jù)庫相結(jié)合基于B/S模式開發(fā)完成,以Struts2框架作為主要的技術(shù)框架,以MyEclipse8.5作為開發(fā)工具,以apache-tomcat-6.0.28做為服務(wù)器。本聊天室系統(tǒng)的主要有普通用戶和管理員兩個角色

5、,普通用戶主要有注冊登錄、找回密碼、群聊私聊、字體設(shè)置、背景顏色設(shè)置、在線音樂試聽、退出這幾個功能;管理員的主要功能有登錄、在線用戶管理、用戶資料管理、過濾字段管理、聊天記錄管理、音樂管理。</p><p>  關(guān)鍵詞:B/S;數(shù)據(jù)庫;聊天室;MySQL</p><p><b>  ABSTRACT</b></p><p>  In today

6、's society, with the growing popularity of the Internet, the Internet has become an essential part of people's life, people can find needed information from the Internet and communication through the Internet wit

7、h the friend's close relatives, along with the network application more and more widely, how to quickly get the information they need to have become nowadays must solve the problem.To develop a chat room, first of al

8、l, in our mind, to have the general situation of the preliminary</p><p>  This chat room system combined by the JSP technology and MySQL database based on B/S pattern development is complete, with the Struts

9、2 framework, as the main technical framework, to MyEclipse8.5 as a development tool, with apache tomcat -- 6.0.28 as a server.This chat room system mainly has two roles ordinary users and administrators and ordinary user

10、s are registered login, retrieve password, group of private chat, font, background color Settings, online music audition, exit this a few functions</p><p>  Key word: b/s; database; chatroom; mysql</p>

11、;<p><b>  目 錄</b></p><p><b>  1 概述1</b></p><p>  1.1 研究開發(fā)背景1</p><p>  1.2 選題的意義2</p><p>  1.3 國內(nèi)外研究現(xiàn)狀3</p><p>  1

12、.4 本文組織結(jié)構(gòu)3</p><p>  2 開發(fā)工具及技術(shù)介紹5</p><p>  2.1 開發(fā)環(huán)境5</p><p>  2.2 系統(tǒng)開發(fā)工具5</p><p>  2.3 B/S結(jié)構(gòu)的簡介5</p><p>  2.4 MySQL簡介6</p><p>  3

13、系統(tǒng)需求分析7</p><p>  3.1 綜合需求7</p><p>  3.2 系統(tǒng)可行性分析7</p><p>  3.2.1 技術(shù)及開發(fā)方法可行性7</p><p>  3.2.2 管理可行性7</p><p>  3.2.3 經(jīng)濟(jì)可行性8</p><p>  3.

14、3 功能需求8</p><p>  3.3.1 用例分析8</p><p>  3.3.2 場景分析9</p><p>  4 系統(tǒng)設(shè)計(jì)11</p><p>  4.1 系統(tǒng)總體設(shè)計(jì)11</p><p>  4.2 系統(tǒng)功能模塊11</p><p>  4.2.1 前臺

15、頁面的模塊12</p><p>  4.2.2 后臺頁面的功能模塊12</p><p>  4.2.3 系統(tǒng)流程圖13</p><p>  5 數(shù)據(jù)庫設(shè)計(jì)15</p><p>  5.1 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)15</p><p>  5.2 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)16</p><p&

16、gt;  5.3 數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計(jì)17</p><p>  6 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)19</p><p>  6.1 用戶注冊19</p><p>  6.2 用戶登陸19</p><p>  6.3 找回密碼21</p><p>  6.4 聊天室22</p><p>

17、  6.5 后臺管理24</p><p>  7 系統(tǒng)測試27</p><p>  7.1 系統(tǒng)測試27</p><p>  7.2 功能測試27</p><p><b>  總 結(jié)30</b></p><p><b>  參考文獻(xiàn)31</b><

18、;/p><p><b>  致 謝32</b></p><p><b>  1 概述</b></p><p>  在網(wǎng)絡(luò)世界中,聊天室(Chat Room)是一個最常見的服務(wù),它最早起源于BBS站點(diǎn),聊天室作為一個在漫漫長夜打發(fā)消遣時(shí)間的最佳軟件,除了能夠用于聊天消遣時(shí)間以外,還擁有語音聊天、視頻聊天、共享圖片、文件

19、等功能?,F(xiàn)在隨著網(wǎng)絡(luò)的發(fā)展,聊天室發(fā)展的速度已經(jīng)非常迅速了,現(xiàn)在的聊天室技術(shù),都已經(jīng)運(yùn)用到了“網(wǎng)絡(luò)會議”上,現(xiàn)在有很多的會議在網(wǎng)上視頻聊天會議[9]。</p><p>  在市面上,聊天室的應(yīng)用軟件出現(xiàn)得比較早,比如說,Microsoft Chat,一個在界面及功能方面都已經(jīng)非常完善的“聊天室”的應(yīng)用軟件,它是一套獨(dú)立于瀏覽器之外的,即與瀏覽器無關(guān)的,需要下載客戶端安裝使用的套裝軟件,在使用它之前還需要先熟悉其中

20、的操作界面,才能夠使用這個軟件,這對于新時(shí)代匆匆忙忙,并沒有太多時(shí)間去學(xué)習(xí)的網(wǎng)友來說,是一個非常不方便的缺陷。因此,開發(fā)出來一個操作簡單,方便,不需要下載客戶端安裝使用的聊天軟件已經(jīng)成為廣大網(wǎng)民的迫切需求。所以,根據(jù)網(wǎng)民的需求,越來越多的公司和網(wǎng)站開始開發(fā)基于瀏覽器的,不需要下載客戶端安裝使用,不需要熟悉界面操作的聊天室,以便造福更多的網(wǎng)友[12]。</p><p>  1.1 研究開發(fā)背景</p>

21、<p>  由于電子科技的迅速發(fā)展,網(wǎng)絡(luò)時(shí)代到來,人們通訊方式也不斷的發(fā)生改變,從以前的寫信到后來的呼機(jī),到現(xiàn)在的手機(jī),不斷地往高科技方向發(fā)展。然而人們的聊天的方式也在發(fā)生改變,因此聊天室也隨之慢慢的發(fā)展起來了,慢慢受到人們喜愛,現(xiàn)在我們QQ中就有各種各樣的群,有的娛樂、有的技術(shù)交流、有的用來工作,總之應(yīng)用非常廣。聊天室的開發(fā)是有必要的,其發(fā)展的前景也是非常大的。</p><p>  聊天室現(xiàn)在用于

22、娛樂方面還是比較少的,主要還是用于商業(yè)方面,就目前聊天室的市場結(jié)構(gòu)來看, 現(xiàn)在大多數(shù)的網(wǎng)站幾乎都擁有一個完全屬于自己的聊天室,現(xiàn)在的聊天室,運(yùn)作起來是非常的簡單,當(dāng)然也有非常復(fù)雜的,如像QQ和YY那種聊天的工具。在國外,現(xiàn)在就一個普通的商務(wù)網(wǎng)上或者娛樂網(wǎng)站都有屬于自己的聊天工具。聊天室的之所以這么普及主要有兩個原因:一、由于現(xiàn)在這方面的技術(shù)已經(jīng)是相當(dāng)?shù)某墒?,開發(fā)這種軟件的成本高;二、聊天這種軟件不管是運(yùn)作起來還使用起來都是比較方便的。所

23、有很受人們的歡迎,現(xiàn)在都有很多專門做這種軟件的公司了。在我國,聊天室市場集中度還不是很高, 其中只有一些大型的商業(yè)網(wǎng)站或者一些專門娛樂性的網(wǎng)站才有,所有在我國的市場還是相當(dāng)?shù)拇蟆?lt;/p><p>  在我國,由于現(xiàn)在的電腦的價(jià)格非常的便宜,人們的生活水平的提高,對網(wǎng)絡(luò)的需要越來越大,除了在網(wǎng)上玩游戲、談生意、購物、查閱資料以外,還有就是用于聊天娛樂,當(dāng)我們身處在一個群體當(dāng)中的時(shí)候,不管是在工作還是在學(xué)習(xí)中也好,我

24、們都會建立起一個屬于自己的聊天室,它的聊天功能是聊天室中運(yùn)用最廣的功能,這是網(wǎng)上最受歡迎和最普通以中聊天方式。聊天具有應(yīng)用廣泛、開發(fā)簡單、 操作方便、功能齊全、信息傳遞、簡單快捷等的特獨(dú)有性,因?yàn)樗怯梦淖謥韨鞑バ畔?,所有用于聊天時(shí)候的信息交流比較方便,相當(dāng)于人與人面對面的交流,受到大多數(shù)人喜歡,因此有很多人喜歡在聊天室中聊天,還沒面對面那種羞澀[2]。</p><p>  1.2 選題的意義</p>

25、;<p>  現(xiàn)在的通訊系統(tǒng),除了我們生活中用于正常交流和聯(lián)系以外,在現(xiàn)在的商業(yè)中也慢慢的興起,運(yùn)用到網(wǎng)上交易中,聊天室為客戶與客戶之間的溝通提供了一個有效交流平臺,使得與客戶之間的聊天沒有時(shí)間和空間的距離感。在時(shí)間上,這邊發(fā)一條信息到另外一邊所用的時(shí)間只需要不到1秒的時(shí)間,幾乎是立即得到響應(yīng),比發(fā)送一份郵件的信息傳遞速度快了幾百倍,非常的節(jié)省時(shí)間;在經(jīng)濟(jì)上,我們打電話是按時(shí)間分鐘來計(jì)費(fèi)的,如果是長途電話的話更貴,而我們的

26、聊天室是通過互聯(lián)網(wǎng)來接通的,價(jià)格十分便宜。當(dāng)然我們不能否定郵件和電話,在用于不同的地方,它們又比聊天室好。基于B/S的聊天室是瀏覽器/服務(wù)的,與基于C/S架構(gòu)的騰訊QQ等聊天軟件相比起來,這種B/S[7]架構(gòu)的聊天室,是不需要下載安裝,直接是在瀏覽器上運(yùn)行。因此,對于一個公司和企業(yè)來說,開發(fā)一個用于網(wǎng)站、娛樂或者論壇來交流的聊天室,其中包括群聊和私聊,成為了現(xiàn)在眾多公司或集體的重要需求[14]。</p><p>

27、  這次開發(fā)的基于B/S架構(gòu)的聊天室,是用現(xiàn)在流行JAVA[1]語言來開發(fā)的,用MyEclipse8.5作為開發(fā)平臺,因?yàn)镸yEclipse8.5開發(fā)B/S[6]架構(gòu)運(yùn)行在瀏覽器上的系統(tǒng)比較方便,并且用到的數(shù)據(jù)庫是當(dāng)前非常受歡迎的MySQL數(shù)據(jù),作為后臺數(shù)據(jù)庫存儲一些信息,建立一些表格?,F(xiàn)在的隨著WEB技術(shù)不斷加強(qiáng),B/S架構(gòu)的設(shè)計(jì)模式開始流行起來,因?yàn)锽/S架構(gòu)的是網(wǎng)頁版的,作為客戶端只需要在瀏覽器上操作,沒有下載安裝客戶端的說法。B

28、/S模式將實(shí)現(xiàn)系統(tǒng)核心功能的代碼全部都放著到服務(wù)器上,只有該系統(tǒng)的服務(wù)器夠強(qiáng)大就可以無限的運(yùn)行,如果客戶端崩潰,也只是在瀏覽器上而已,只需要重新打開一個頁面就可以了,從某種一定程度上,這個系統(tǒng)只需要開發(fā)一個強(qiáng)大的服務(wù)器,從而簡化了系統(tǒng)的開發(fā)和維護(hù)?;贐/S架構(gòu)的聊天室系統(tǒng),與那些C/S[8]模式聊天室相比較,最大的優(yōu)點(diǎn):只要你有瀏覽器,就可以隨時(shí)隨地進(jìn)行聊天,而不需要下載安裝客戶端,從而實(shí)現(xiàn)了客戶端零安裝、零維護(hù)的需求,提高了其中的效

29、率[6]。</p><p>  1.3 國內(nèi)外研究現(xiàn)狀</p><p>  隨著互聯(lián)網(wǎng)的發(fā)展以及普及,網(wǎng)絡(luò)聊天軟件逐漸成為網(wǎng)絡(luò)用戶必備的聯(lián)絡(luò)工具,它為廣大網(wǎng)民提供了一種方便快捷的溝通方式,而網(wǎng)絡(luò)聊天室作為出現(xiàn)最早,也是操作簡單的網(wǎng)上聊天方式,受到了眾多網(wǎng)民的追捧。</p><p>  在國內(nèi),1999年2月,深圳騰訊公司正式發(fā)布OICQ99 beta build

30、0210,開通騰訊網(wǎng)絡(luò)聊天服務(wù)。2000年5月,騰訊QQ在線人數(shù)已經(jīng)突破10萬。2001年2月l0日,騰訊QQ在線人數(shù)已經(jīng)突破100萬。2004年4月份,騰訊QQ在線人數(shù)的最高記錄已經(jīng)突破了600萬,現(xiàn)在騰訊公司正在把網(wǎng)絡(luò)聊天系統(tǒng)往移動聊天方向擴(kuò)展,如今已經(jīng)將網(wǎng)絡(luò)聊天與手機(jī)短信息(SMS)成功結(jié)合起來。如今網(wǎng)絡(luò)聊天軟件涉及和影響的范圍越來越廣,其競爭也越來越激烈。</p><p>  在國外,MSN——借助和Wi

31、ndows操作系統(tǒng)的綁定似乎已是使用最廣泛的聊天軟件。使用MSN,可以通過文本、語音、視頻與朋友、親人聊天,還可以與朋友、親人傳輸文件,共享圖片等。</p><p>  但是,這些聊天軟件都是基于C/S架構(gòu)的,都需要通過下載客戶端進(jìn)行安裝使用,在更新方面也需要下載更新,而且用戶名、密碼和聊天記錄等都是存在本地機(jī)器上的,在安全性和方便性方面都有所欠缺。</p><p>  Browser/

32、Server(瀏覽器/服務(wù)器)結(jié)構(gòu),是隨互聯(lián)網(wǎng)技術(shù)伴生的,是對C/S架構(gòu)的進(jìn)行改進(jìn)的一種結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶不需要通過下載客戶端安裝使用和更新,只需要有瀏覽器就可以實(shí)現(xiàn),而且可以隨時(shí)隨地地使用,不會受到時(shí)間與地域的影響。與C/S相比,B/S 的優(yōu)勢是B/S是建立在廣域網(wǎng)之上的, 一般情況下只要有操作系統(tǒng)和瀏覽器就可以了,不需要有專門的網(wǎng)絡(luò)硬件環(huán)境,而C/S則是建立在專用網(wǎng)絡(luò)上的,必須是小范圍網(wǎng)絡(luò)環(huán)境,所以,B/S架構(gòu)的聊天室開發(fā)起來

33、比C/S架構(gòu)的要簡單,容易。而且B/S架構(gòu)的聊天室實(shí)現(xiàn)了系統(tǒng)的無縫升級,系統(tǒng)維護(hù)開銷小。最主要的是B/S架構(gòu)的聊天室是基于瀏覽器的,與操作平臺無關(guān),所以不需要考慮兼容性問題[6]。</p><p>  1.4 本文組織結(jié)構(gòu)</p><p>  本文圍繞著開發(fā)一個基于B/S的QQ聊天軟件,描述了完成開發(fā)這個系統(tǒng)的主要流程,本文分為以下幾部分:</p><p>  介

34、紹的是基于B/S的QQ聊天軟件的研發(fā)背景、選題意義和國內(nèi)外現(xiàn)狀;</p><p>  介紹的是QQ聊天軟件要使用的開發(fā)環(huán)境、開發(fā)工具以及要使用到的技術(shù);</p><p>  介紹的是QQ聊天軟件的需求分析;</p><p>  介紹的是系統(tǒng)的設(shè)計(jì)與及系統(tǒng)需要有的功能模塊;</p><p>  介紹的是數(shù)據(jù)庫的設(shè)計(jì)與創(chuàng)建;</p>

35、<p>  介紹的是系統(tǒng)的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn);</p><p>  主要是對本系統(tǒng)進(jìn)行測試,證明系統(tǒng)的可行性。</p><p>  2 開發(fā)工具及技術(shù)介紹</p><p><b>  2.1 開發(fā)環(huán)境</b></p><p>  系統(tǒng)名:基于B/S的QQ聊天軟件的設(shè)計(jì)與實(shí)現(xiàn)</p><p&

36、gt;  操作系統(tǒng):windows7 32位</p><p>  硬件支持:CPU 英特爾Core i5-480M(雙核)</p><p><b>  內(nèi)存 6GB</b></p><p>  顯卡 ATI/AMD Radeon HD 64x0M/74x0M</p><p>  2.2 系統(tǒng)開發(fā)工具&

37、lt;/p><p>  開發(fā)工具: MyEclipse 8.5 </p><p>  服務(wù)器:apache-tomcat-6.0.28</p><p><b>  數(shù)據(jù)庫:MySQL</b></p><p>  2.3 B/S結(jié)構(gòu)的簡介</p><p>  在傳統(tǒng)的兩層的C/S結(jié)構(gòu)中,隨著技術(shù)慢慢的

38、發(fā)展出現(xiàn)了它的局限性,C/S結(jié)構(gòu)模式比較適合于那種系統(tǒng)規(guī)模比較小、用戶也比較少、而且數(shù)據(jù)庫還是單一的情況下,并且運(yùn)行的網(wǎng)絡(luò)環(huán)境必須是安全的和快速 (例如局域網(wǎng) )。由于網(wǎng)絡(luò)技術(shù)的發(fā)展之快,所運(yùn)行的應(yīng)用系統(tǒng)的規(guī)模在慢慢的擴(kuò)大 ,其中的復(fù)雜性越來越高,在現(xiàn)在多用戶、多數(shù)據(jù)庫、多接口的系統(tǒng)中,并且網(wǎng)絡(luò)環(huán)境下也是非安全的(例如:Internet)的網(wǎng)絡(luò)環(huán)境中,傳統(tǒng)的兩層C/S結(jié)構(gòu)的應(yīng)用模型無法滿足現(xiàn)狀,跟不上時(shí)代步伐,而且這種模式是單一的服務(wù)器

39、,主要以局域網(wǎng)為中心的 ,因此想要把傳統(tǒng)的模式擴(kuò)展至大型企業(yè)的廣域網(wǎng)或強(qiáng)大的Intranet中是不可能的,因此B/S體系結(jié)構(gòu)三層客戶/服務(wù)器模式隨之興起,成為當(dāng)今最受歡迎的一種體系結(jié)構(gòu)[8]。</p><p>  三層客戶/服務(wù)器模式是稱之為B/S體系結(jié)構(gòu),是在以前傳統(tǒng)兩層的C/S結(jié)構(gòu)模式的集成上,增加了一級成為了現(xiàn)在流行的三層客戶/服務(wù)器模式。B/S體系結(jié)構(gòu)在邏輯上將應(yīng)用功能分為3層,分別是顯示層、業(yè)務(wù)層、數(shù)據(jù)

40、層。客戶顯示層是服務(wù)有客戶端的,為客戶的圖形界面功能提供相對應(yīng)的應(yīng)用服務(wù)的,從而幫助客戶迅速快捷的定位于應(yīng)用服務(wù)。業(yè)務(wù)邏輯層是在顯示層和數(shù)據(jù)層之間,是為企業(yè)實(shí)現(xiàn)該企業(yè)的業(yè)務(wù)邏輯提,專門的設(shè)計(jì)供的一個明確有效的層次,具有一定的邏輯性,在這個層次中,封裝了與系統(tǒng)相關(guān)聯(lián)的應(yīng)用模型,同時(shí)把顯示層和數(shù)據(jù)庫代碼部分的數(shù)據(jù)層區(qū)分開來 數(shù)據(jù)層是三層模式中最底層的結(jié)構(gòu),這個層的主要目的是用來定義、維護(hù)、訪問和更新數(shù)據(jù),簡單的說,就是管理數(shù)據(jù)庫的,同時(shí)管理

41、和滿足應(yīng)用服務(wù)對數(shù)據(jù)庫發(fā)送的一系列請求,維護(hù)數(shù)據(jù)庫得管理。這種三層體系結(jié)構(gòu)關(guān)系如圖1所示: </p><p>  圖1 B/S三層架構(gòu)示意圖 </p><p>  2.4 MySQL簡介   </p><p>  MySQL數(shù)據(jù)庫是一個精巧的SQL數(shù)據(jù)庫管理系統(tǒng),這個數(shù)據(jù)庫相對其他那些數(shù)據(jù)庫來說,是非常小的。MySQL數(shù)據(jù)庫很容易安裝,它是在DOC命令的窗口運(yùn)行

42、的,但是它是具有強(qiáng)大的數(shù)據(jù)開發(fā)和維護(hù)功能、源代碼開發(fā)的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),還有就是這個數(shù)據(jù)庫管理系統(tǒng)具有非常強(qiáng)靈活性和豐富的應(yīng)用編程接口以及精巧的系統(tǒng)結(jié)構(gòu)性。同時(shí)運(yùn)用起來不占什么內(nèi)存,還有他它快速,健壯和易用的特性,同時(shí)所用到經(jīng)濟(jì)成本也是非常的地,所以現(xiàn)在那些小型的企業(yè)的數(shù)據(jù)庫基本上都采用這種數(shù)據(jù)庫管理系統(tǒng),其中的主要原因上面以及介紹了。所以在現(xiàn)在的那些小型的項(xiàng)目中,基本都會選擇這種數(shù)據(jù)。SQL是一種標(biāo)準(zhǔn)化的語言,它不僅在MySQL數(shù)

43、據(jù)庫能運(yùn)行還能在SQL Server中運(yùn)行,所以MySQL數(shù)據(jù)庫的SQL語言是可以在其他數(shù)據(jù)中使用。同時(shí)MySQL還能夠足夠快和靈活存儲記錄文件和圖像等屬性,可見這個數(shù)據(jù)庫得功能之強(qiáng)大[11]。</p><p>  MySQL數(shù)據(jù)庫軟件有幾個版本,分別是標(biāo)準(zhǔn)版、企業(yè)版和集群版3個版本。MySQL數(shù)據(jù)庫的主要特點(diǎn)是體積小、速度快和成本低3個特點(diǎn),其中在成本低MySQL數(shù)據(jù)庫優(yōu)勢下,它的局限性已經(jīng)不是什么問題了,而且

44、它能滿足現(xiàn)在的那些中小型的系統(tǒng)或者網(wǎng)站,所以,使得一般中小型網(wǎng)站的開發(fā)都會選擇MySQL作為網(wǎng)站數(shù)據(jù)庫。同時(shí)MySQL數(shù)據(jù)庫相比其他的數(shù)據(jù)而言,在相同的運(yùn)行環(huán)境中,可能維護(hù)起來會比較的容易些,所以在數(shù)據(jù)維護(hù)方面的,所需要的人力和財(cái)力會減少很多,減少了企業(yè)的開支[16]。</p><p><b>  3 系統(tǒng)需求分析</b></p><p><b>  3.

45、1 綜合需求</b></p><p>  通過調(diào)查可以得知,在本系統(tǒng)中,用戶的類型有兩種:普通用戶和管理員。普通用戶可以通過注冊用戶名,進(jìn)入聊天系統(tǒng),在聊天室中可以給所有人發(fā)送群聊信息,也可以和聊天室中的某個在線用戶進(jìn)行私聊。管理員在注冊成為普通用戶以后也可以進(jìn)入前臺的聊天頁面,跟普通用戶一樣,進(jìn)行聊天。管理員除了具有普通用戶的功能外,還可以通過管理員的身份進(jìn)入后臺管理系統(tǒng),對系統(tǒng)進(jìn)行管理和維護(hù)。&

46、lt;/p><p>  聊天室的最大特點(diǎn)就是能夠?qū)α奶靸?nèi)容進(jìn)行實(shí)時(shí)刷新,能夠?qū)崟r(shí)顯示聊天內(nèi)容。即在同一個聊天室的使用者,可以在短時(shí)間內(nèi)立刻看到其他聊天者的發(fā)言,并且能夠通過實(shí)時(shí)刷新看到在線人數(shù)列表。</p><p>  本系統(tǒng)有普通用戶和管理員兩個角色。在系統(tǒng)中,普通用戶實(shí)現(xiàn)的功能有用戶注冊、用戶登錄、找回密碼、進(jìn)入聊天室聊天、試聽音樂等功能。聊天時(shí),用戶可以設(shè)置字體的大小、顏色等,實(shí)時(shí)顯示聊

47、天信息,并且實(shí)時(shí)顯示在線聊天的人員列表,好友狀態(tài),用戶還可以手動更換背景顏色。同時(shí),系統(tǒng)還有支持用戶在線播放音樂的功能。管理員除了可以以普通用戶的身份實(shí)現(xiàn)普通用戶的功能以外,還可以以管理員的身份實(shí)現(xiàn)管理員的功能。管理員實(shí)現(xiàn)的功能有剔除普通用戶、過濾非法聊天內(nèi)容、用戶資料管理、在線用戶管理、導(dǎo)出聊天記錄、上傳音樂文件等功能。本系統(tǒng)旨在實(shí)現(xiàn)在線實(shí)時(shí)聊天功能,為用戶提供方便快捷的交流方式,這在具體體現(xiàn),將會在系統(tǒng)實(shí)現(xiàn)中體現(xiàn)和擴(kuò)展。 </

48、p><p>  3.2 系統(tǒng)可行性分析</p><p>  可行性分析是根據(jù)初步的調(diào)查結(jié)果,對系統(tǒng)開發(fā)做出可行與否的結(jié)論的過程??尚行苑治鰪募夹g(shù)可行性、經(jīng)濟(jì)可行性、管理可行性三方面進(jìn)行分析,論證該系統(tǒng)是否可行。</p><p>  3.2.1 技術(shù)及開發(fā)方法可行性</p><p>  本系統(tǒng)的開發(fā)采用Java[3]語言和JSP[10]相關(guān)技術(shù)

49、,JSP具有一處編譯,到處運(yùn)行的特性,而Java語言是面向?qū)ο蟮恼Z言,它具有與平臺無關(guān)的特性,所以系統(tǒng)能夠跨平臺使用,可運(yùn)行于Linux/Unix和Windows系列等各種操作系統(tǒng)平臺。</p><p>  3.2.2 管理可行性</p><p>  使用模塊化的設(shè)計(jì)方法,有助于系統(tǒng)開發(fā)過程的管理,因?yàn)槟K化的設(shè)計(jì)方法就是科學(xué)合理的將整個程序劃分為N個功能模塊,各個功能模塊單獨(dú)設(shè)計(jì),互不

50、影響。這種設(shè)計(jì)方法有助于降低整個程序的設(shè)計(jì)難度及減少錯誤程序的影響范圍,也使得各個功能模塊容易實(shí)現(xiàn),而且整個程序修改容易,不會因?yàn)槠渲幸粋€功能模塊出現(xiàn)錯誤而影響整個系統(tǒng)。</p><p>  3.2.3 經(jīng)濟(jì)可行性</p><p>  經(jīng)過詳細(xì)周密的調(diào)查,借鑒成功的開發(fā)案例,采用科學(xué)有效的開發(fā)方式,可以降低開發(fā)的成本,達(dá)到經(jīng)濟(jì)高效的目的。本系統(tǒng)在開發(fā)方面主要使用了MyEclipse8.5

51、、apache-tomcat-6.0.28、MySQL等軟件,而這些軟件在網(wǎng)上均可以免費(fèi)下載,因此,在開發(fā)成本方面可以說是非常低,所以,該系統(tǒng)在經(jīng)濟(jì)方面可行。</p><p><b>  3.3 功能需求</b></p><p>  經(jīng)過詳細(xì)的調(diào)查,首先可以確定的是系統(tǒng)需要有“普通用戶”和“管理員”這兩個角色。</p><p>  3.3.1

52、 用例分析</p><p>  管理員主要負(fù)責(zé)對系統(tǒng)中用戶進(jìn)行管理和維護(hù),普通用戶主要負(fù)責(zé)對聊天界面進(jìn)行設(shè)置以及進(jìn)行聊天和聊天的設(shè)置,以上兩個實(shí)體的主要功能如下圖所示:</p><p><b>  表1 基本用例</b></p><p>  根據(jù)分析,系統(tǒng)中的兩個實(shí)體,“普通用戶”和“管理員”的用例圖如下圖所示:</p><

53、;p><b>  圖2 系統(tǒng)用例圖</b></p><p>  3.3.2 場景分析</p><p><b> ?。?)用戶注冊場景</b></p><p>  用戶輸入注冊要填寫的內(nèi)容后,點(diǎn)擊注冊進(jìn)行驗(yàn)證,如果驗(yàn)證合法,則會對后臺數(shù)據(jù)庫做數(shù)據(jù)的插入操作,插入成功后,即注冊成功,跳轉(zhuǎn)到登錄頁面,否則繼續(xù)停留在注冊頁

54、面。</p><p>  用戶注冊的順序圖如圖3所示:</p><p>  圖3 用戶注冊順序圖 </p><p><b>  (2)用戶登錄場景</b></p><p>  用戶輸入用戶名和密碼后,后臺數(shù)據(jù)對用戶輸入的數(shù)據(jù)進(jìn)行驗(yàn)證判斷,如果后臺數(shù)據(jù)庫存在該用戶,且密碼正確,則跳轉(zhuǎn)到聊天頁面,否則登錄失敗,繼續(xù)停留在

55、登錄頁面。</p><p>  用戶登錄的順序圖如圖4所示:</p><p>  圖4 用戶登錄順序圖 </p><p><b>  4 系統(tǒng)設(shè)計(jì)</b></p><p>  4.1 系統(tǒng)總體設(shè)計(jì)</p><p>  根據(jù)以上聊天系統(tǒng)的需求分析,本聊天系統(tǒng)可將模塊分為普通用戶登陸的前臺聊天子

56、系統(tǒng)模塊和后臺管理員管理子系統(tǒng)模塊。其中普通用戶模塊包括登錄模塊、聊天模塊、退出模塊,聊天模塊又包含各種聊天相關(guān)功能的子功能模塊和在線歌曲試聽的子功能模塊,管理員模塊包括登錄模塊、管理模塊、退出模塊,其中管理模塊又包括管理系統(tǒng)用戶的各個功能子模塊和管理歌曲的各個功能子模塊。普通用戶和管理員的退出聊天室模塊機(jī)制是類似。</p><p>  系統(tǒng)總體模塊框架劃分如圖5所示:</p><p> 

57、 圖5 系統(tǒng)總體模塊架構(gòu)</p><p>  4.2 系統(tǒng)功能模塊</p><p>  本系統(tǒng)在J2EE[4]平臺下使用B/S架構(gòu)進(jìn)行設(shè)計(jì), MySQL作為后臺數(shù)據(jù)庫,實(shí)現(xiàn)管理員對聊天室的管理、用戶登陸聊天室聊天等功能的管理和實(shí)現(xiàn),包括前臺模塊和后臺管理模塊。</p><p>  本聊天室系統(tǒng)使用MyEclipse軟件開發(fā),以Struts2[5]框架作為主要的技

58、術(shù)框架,以JSP技術(shù)編寫頁面。作為一個只需要WEB[2]瀏覽器,不需要下載客戶端就能實(shí)現(xiàn)的聊天室,雖然不需要客戶端的存在,但是在前臺依然必須要具備基本的用戶注冊、登陸功能。</p><p>  4.2.1 前臺頁面的模塊</p><p>  在前臺模塊中,用戶只有通過注冊賬號后,擁有了賬號才能登陸,在登錄模塊中用戶輸入了注冊好的賬號與密碼,通過驗(yàn)證后,進(jìn)入到聊天模塊,在聊天模塊中,可以進(jìn)

59、行字體大小、顏色的設(shè)置,可以改變頁面的背景顏色,可以發(fā)送表情,除了這些以外,還有音樂試聽模塊。</p><p>  前臺頁面的模塊又可以分為登陸模塊和聊天模塊。登陸模塊其中包括了用戶注冊賬號,合法注冊用戶登陸賬號,找回密碼,資料修改等等。</p><p><b> ?。?)用戶注冊模塊</b></p><p>  用戶將個人信息填寫完整,點(diǎn)擊注

60、冊進(jìn)行驗(yàn)證,如果驗(yàn)證合法,對數(shù)據(jù)庫做插入操作,插入成功,則完成注冊,完成注冊后頁面跳轉(zhuǎn)到登陸頁面,如果驗(yàn)證沒有通過,則繼續(xù)停留在注冊頁面。</p><p><b> ?。?)登陸賬號模塊</b></p><p>  當(dāng)用戶輸入用戶名和密碼后,點(diǎn)擊登錄對輸入的信息進(jìn)行驗(yàn)證,即查看數(shù)據(jù)庫是否存在該用戶,若存在,則對密碼進(jìn)行核對,若密碼正確,則登陸到聊天界面,否則停留在登錄

61、界面。</p><p><b> ?。?)找回密碼模塊</b></p><p>  當(dāng)用戶忘記密碼時(shí),通過注冊時(shí)填寫的問題以及問題的答案找回密碼。點(diǎn)擊找回密碼,跳到下一步頁面,輸入要找回密碼的用戶的用戶名,點(diǎn)擊下一步,根據(jù)輸入的用戶名,查找到用戶注冊時(shí)輸入的密碼提示問題,并填入密碼提示問題的答案,點(diǎn)擊下一步,進(jìn)行驗(yàn)證,若輸入答案錯誤,則跳到登錄頁面,若答案正確,則跳到

62、下一步的頁面,輸入新密碼,點(diǎn)擊下一步,完成密碼修改,跳到登錄頁面。</p><p>  聊天界面則包括一個用戶與另一個用戶之間的私聊,一個用戶與多用戶之間的群聊,設(shè)置修改字體、字號、顏色、變換背景色、音樂試聽等功能。</p><p>  聊天室的前臺功能模塊劃分圖如圖6所示:</p><p>  4.2.2 后臺頁面的功能模塊</p><p&g

63、t;  在后臺頁面模塊中,管理員通過用戶名與密碼登錄到后臺管理頁面,在后臺管理模塊中,又可以分為在線用戶管理模塊、用戶資料管理模塊、過濾字段管理模塊、聊天記錄管理模塊、音樂管理模塊等幾個模塊。</p><p><b>  (1)用戶資料管理</b></p><p>  對每一個已經(jīng)注冊了的用戶注冊時(shí)填寫的資料進(jìn)行增刪改查的管理。</p><p>

64、;<b> ?。?)在線用戶管理</b></p><p>  通過查詢數(shù)據(jù)庫,統(tǒng)計(jì)在線人數(shù)并在界面顯示出來,并且對一些非法用戶可以實(shí)行踢除處理。</p><p><b>  (3)過濾字段管理</b></p><p>  設(shè)置需要過濾的內(nèi)容,即設(shè)置在用戶聊天時(shí)不能發(fā)送的非法內(nèi)容,插入到數(shù)據(jù)庫中,經(jīng)由數(shù)據(jù)庫篩選非法聊天內(nèi)容并

65、自動屏蔽優(yōu)化聊天室。</p><p><b> ?。?)聊天記錄管理</b></p><p>  通過查詢數(shù)據(jù)庫中的聊天記錄表,將聊天記錄顯示到界面上,需要導(dǎo)出聊天記錄時(shí),導(dǎo)出聊天記錄,方便備份聊天記錄。</p><p><b>  (6)音樂管理</b></p><p>  上傳音樂文件,即在數(shù)據(jù)

66、庫中對音樂表進(jìn)行插入數(shù)據(jù)操作,查詢數(shù)據(jù)庫中的音樂文件,并顯示到界面,還能刪除上傳了的音樂文件。</p><p>  后臺頁面的模塊劃分圖如圖7所示:</p><p>  圖6 前臺頁面模塊劃分圖 圖7 后臺頁面模塊劃分圖</p><p>  4.2.3 系統(tǒng)流程圖</p><p>  經(jīng)過以上的需求分析和初步

67、的設(shè)計(jì),可以初步確定本系統(tǒng)有兩個角色,分別是普通用戶和管理員,前面已經(jīng)對本系統(tǒng)進(jìn)行了初步的設(shè)計(jì),初步確定了本系統(tǒng)的功能模塊,為了更方便、更清晰地展現(xiàn)本系統(tǒng)的功能,下面畫出了不同使用者不同權(quán)限的流程圖。</p><p>  普通用戶具有注冊登錄、音樂試聽、聊天、設(shè)置背景顏色、退出權(quán)限,其中聊天功能中包括群聊、私聊、設(shè)置字體字號和顏色、發(fā)送表情等權(quán)限。</p><p>  普通用戶的系統(tǒng)流程圖

68、如圖8所示:</p><p>  管理員若以普通用戶的身份,則具有普通用戶的所有權(quán)限,若是以管理員的身份登錄,則具有登錄、用戶資料管理、過濾字段管理、在線用戶管理、聊天記錄管理、音樂管理等權(quán)限。</p><p>  管理員的系統(tǒng)流程圖如圖9所示:</p><p>  圖8 普通用戶系統(tǒng)流程圖 圖9 管理員系統(tǒng)流程圖</p&g

69、t;<p><b>  5 數(shù)據(jù)庫設(shè)計(jì)</b></p><p>  5.1 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)</p><p>  經(jīng)過分析,得出本系統(tǒng)有普通用戶和管理員兩個角色,本系統(tǒng)還有過濾字段、管理聊天記錄、音樂試聽等功能,因此,本系統(tǒng)的實(shí)體有用戶、過濾條件、聊天記錄、音樂,這些實(shí)體的實(shí)體屬性圖如下列圖所示:</p><p>  圖10

70、 用戶實(shí)體屬性圖</p><p>  圖11 過濾條件實(shí)體屬性圖</p><p>  圖12 聊天記錄實(shí)體屬性圖</p><p>  圖13 歌曲實(shí)體屬性圖</p><p>  經(jīng)過系統(tǒng)功能的初步確定和數(shù)據(jù)庫中實(shí)體的初步確定,得到了聊天的E-R圖如下圖所示:</p><p>  圖14 聊天E-R圖</

71、p><p>  5.2 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)</p><p>  聊天室作為網(wǎng)絡(luò)服務(wù)的一個重要應(yīng)用,它的數(shù)據(jù)庫在整個系統(tǒng)中占據(jù)著極其重要的作用,其數(shù)據(jù)庫在網(wǎng)站建設(shè)和網(wǎng)絡(luò)營銷中發(fā)揮著非常重要的作用。普通的靜態(tài)網(wǎng)站是沒有數(shù)據(jù)庫的,而具有數(shù)據(jù)庫的網(wǎng)站網(wǎng)頁我們通常稱為動態(tài)頁面,也就是說擁有數(shù)據(jù)庫的網(wǎng)站頁面的內(nèi)容不是一成不變的,頁面上內(nèi)容或部分內(nèi)容是可以根據(jù)數(shù)據(jù)庫中數(shù)據(jù)的變化而改變的,是動態(tài)生成的,這就

72、使得動態(tài)網(wǎng)站內(nèi)容更靈活,維護(hù)更方便,更新更便捷。</p><p>  本系統(tǒng)采所需要的數(shù)據(jù)庫結(jié)構(gòu)如圖15所示。</p><p>  圖15 聊天室關(guān)系圖</p><p>  5.3 數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計(jì)</p><p>  數(shù)據(jù)庫的設(shè)計(jì)一般情況下是以一個已經(jīng)開發(fā)出來的數(shù)據(jù)庫管理系統(tǒng)為基礎(chǔ)進(jìn)行設(shè)計(jì)的,我們平常開發(fā)中比較常用的數(shù)據(jù)庫管理系統(tǒng)有M

73、ySQL、SQL Server[15]、Oracle等。在本系統(tǒng)開發(fā)中,由于MySQL是一個開源的、快速的、多用戶的SQL數(shù)據(jù)庫服務(wù)器,而且MySQL能在不同的平臺上工作,所以我采用了MySql數(shù)據(jù)庫管理系統(tǒng)作為基礎(chǔ)進(jìn)行數(shù)據(jù)庫設(shè)計(jì),建立的數(shù)據(jù)庫名為chatsys的數(shù)據(jù)庫。</p><p>  根據(jù)QQ聊天軟件的需求,對應(yīng)的數(shù)據(jù)庫表的設(shè)計(jì)及其功能如下:</p><p>  用戶信息表:存放用

74、戶注冊時(shí)填寫的用戶信息,如存放用戶名、密碼密碼提示問題、密碼提示問題答案等內(nèi)容;</p><p>  歌曲信息表:存放歌曲的信息,如歌曲名、歌曲歌手等;</p><p>  聊天記錄信息表:存放用戶在聊天過程中產(chǎn)生的聊天信息;</p><p>  過濾條件信息表:存放要過濾的字段,即存放用于過濾聊天信息的條件,用于屏蔽非法聊天信息;</p><p

75、>  用戶信息表如下表所示:</p><p>  表2 用戶表(user)</p><p>  過濾條件信息表如下表所示:</p><p>  表3 過濾條件表(cont)</p><p>  聊天記錄信息表如下表所示:</p><p>  表4 聊天表(record)</p><p> 

76、 歌曲信息表如下表所示:</p><p>  表5 歌曲表(music)</p><p>  6 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)</p><p><b>  6.1 用戶注冊</b></p><p>  想要聊天室進(jìn)行聊天,就必須要擁有一個用于登錄的賬號,如果沒有,就必須注冊一個賬號,否則無法進(jìn)入聊天室。注冊時(shí),在注冊頁面輸入要

77、填寫的信息,點(diǎn)擊注冊,會對輸入的數(shù)據(jù)進(jìn)行驗(yàn)證,驗(yàn)證通過了,會在數(shù)據(jù)庫中插入該用戶輸入的信息,并將用戶名存到session中。注冊成功以后,頁面會自動跳轉(zhuǎn)到登錄頁面,并且通過session取到注冊時(shí)用戶輸入的用戶名,并將用戶名顯示到登錄頁面登錄時(shí)要輸入的用戶名欄。</p><p>  用戶注冊的流程圖如圖16所示:</p><p>  注冊的核心代碼如下所示:</p><

78、p>  public String execute() {</p><p>  if(user!=null&&!user.getName().equals("")&&user.getName()!=null&&user.getPwd()!=null&&!user.getPwd().equals("")){

79、</p><p>  userService.add(user);</p><p><b>  }</b></p><p>  return SUCCESS;</p><p><b>  }</b></p><p><b>  6.2 用戶登陸</b>

80、</p><p>  在登錄界面中,需要輸入正確的用戶名和密碼才能夠登錄。在登錄頁面有兩種不同角色的登錄,一種是普通用戶登錄,一種是管理員登錄。普通用戶登錄時(shí),在登錄頁面輸入普通用戶用戶名和密碼,單擊“登錄”按鈕,系統(tǒng)將會對用戶輸入的用戶名和密碼進(jìn)行驗(yàn)證,通過查詢數(shù)據(jù)庫,判斷輸入的賬號是否存在,若不存在,則繼續(xù)停留在登錄頁面,若存在,繼續(xù)判斷密碼是否正確,若正確,則進(jìn)入聊天室界面,同時(shí)系統(tǒng)將會通過查詢數(shù)據(jù)庫查找到

81、該用戶的isuse字段,將字段的值改成1(1代表在線狀態(tài),0代表離線狀態(tài))。當(dāng)用戶離開聊天室時(shí),系統(tǒng)會自動將該用戶表user中的isuse字段改成0。管理員登錄與普通用戶登錄差不多,不過管理員登錄后,會跳轉(zhuǎn)到后臺管理頁面。</p><p>  用戶登錄流程圖如圖17所示:</p><p>  圖16 用戶注冊流程圖 圖17 用戶登陸流程圖</p>

82、<p><b>  核心代碼如下所示:</b></p><p>  public String execute() {</p><p>  if (userService.login(user) != null) {</p><p>  user = userService.login(user);</p><

83、p>  HttpSession session = ServletActionContext.getRequest()</p><p>  .getSession();</p><p>  List<User> ulist=userService.findIsOnline();</p><p>  session.getServletContext

84、().setAttribute("ulist", ulist);</p><p>  if(user.isType()){</p><p>  List<Cont> cont=contService.select();</p><p>  ServletActionContext.getRequest().getSession().s

85、etAttribute("contlist", cont);</p><p>  return "admin";</p><p><b>  }</b></p><p>  user.setIsuse(User.ON_LINE);</p><p>  userService.upd

86、ate(user);</p><p>  session.setAttribute("user", user);</p><p>  List<Record> talking = (List<Record>) session.getServletContext().getAttribute("talking");</p&

87、gt;<p>  if (talking == null) {</p><p>  talking = recordService.getList();</p><p><b>  }</b></p><p>  Record coming = new Record();</p><p>  coming.

88、setUser(user);</p><p>  coming.setCont(user.getName()+"進(jìn)入了聊天室!");</p><p>  talking.add(coming);</p><p>  session.getServletContext().setAttribute("talking",talki

89、ng);</p><p>  return SUCCESS;</p><p><b>  };</b></p><p>  return ERROR;</p><p><b>  }</b></p><p><b>  6.3 找回密碼</b><

90、/p><p>  用戶忘記密碼時(shí),可以單擊“找回密碼”,跳到下一個頁面,輸入要找回密碼的用戶的用戶名,點(diǎn)擊下一步,系統(tǒng)會通過輸入的用戶名查詢該用戶名是否存在,若不存在,則跳到登錄頁面,若存在,根據(jù)該用戶名找到該用戶在注冊時(shí)填寫的密碼提示問題,填入密碼提示問題的答案,點(diǎn)擊下一步,系統(tǒng)會通過查詢數(shù)據(jù)庫驗(yàn)證輸入的密碼提示問題答案是否正確,如果答案正確,則跳到下一個頁面,輸入新的密碼進(jìn)行密碼修改,點(diǎn)擊下一步修改密碼成功,跳轉(zhuǎn)

91、到登錄頁面;如果輸入的密碼提示問題的答案錯誤,則跳轉(zhuǎn)到登錄頁面。</p><p>  找回密碼的流程圖如圖18所示:</p><p>  圖18 找回密碼的流程圖 </p><p><b>  核心代碼如下所示:</b></p><p>  public String execute() {</p><

92、;p>  User olduser=userService.findByName(user);</p><p>  if(olduser!=null){</p><p>  user=olduser;</p><p>  user.setAns("");</p><p>  return SUCCESS;</p

93、><p><b>  }</b></p><p>  return ERROR; </p><p>  } </p><p><b>  

94、6.4 聊天室</b></p><p>  用戶登錄后進(jìn)入聊天室頁面,聊天室頁面的功能有群聊私聊、試聽在線音樂、設(shè)置背景顏色。用戶在輸入聊天信息時(shí),能夠?qū)斎氲淖煮w進(jìn)行設(shè)置,設(shè)置字體的大小、顏色等,還能發(fā)送表情,同時(shí)可在聊天頁面手動更改頁面的背景顏色。用戶在發(fā)送信息時(shí),系統(tǒng)會通過查詢數(shù)據(jù)庫,檢查發(fā)送的內(nèi)容是否為非法的內(nèi)容,若為非法內(nèi)容,系統(tǒng)將會自動將聊天的內(nèi)容屏蔽,并在聊天頁面顯示提示警告內(nèi)容,若不

95、是非法內(nèi)容,系統(tǒng)會將聊天的內(nèi)容顯示在界面。在聊天界面中,系統(tǒng)能夠進(jìn)行實(shí)時(shí)刷新,顯示用戶聊天發(fā)送的內(nèi)容,同時(shí)能夠?qū)崟r(shí)顯示在線用戶,并形成一個在線用戶列表顯示在界面中。除此之外,在聊天界面中,還有一個退出功能,點(diǎn)擊退出,將會退出聊天系統(tǒng),跳到登錄頁面,同時(shí)將數(shù)據(jù)庫中的user表中的isuse字段該成0(0代表用戶處于離線狀態(tài),1代表用戶處于在線狀態(tài))。</p><p>  普通用戶聊天室頁面的運(yùn)行效果如圖19所示:&

96、lt;/p><p>  圖19 普通用戶聊天頁面</p><p>  點(diǎn)擊在線音樂,將會彈出在線歌曲列表,點(diǎn)擊試聽,能播放在線歌曲。在后臺有一個歌曲管理,能夠上傳本地的歌曲,通過查詢數(shù)據(jù)庫實(shí)時(shí)刷新,并在界面中將歌曲列表中顯示出來,還能通過后臺刪除在線的歌曲。</p><p>  在線歌曲頁面如圖20所示:</p><p><b>  圖

97、20 音樂試聽</b></p><p><b>  核心代碼如下所示:</b></p><p>  public String execute() {</p><p>  if (record != null) {</p><p>  HttpSession session = ServletActionCo

98、ntext.getRequest()</p><p>  .getSession();</p><p>  List<Record> talking = (List<Record>) session</p><p>  .getServletContext().getAttribute("talking");</p&

99、gt;<p>  User causer = (User) session.getAttribute("user");</p><p>  if (userService.findById(causer).isIsuse()) {</p><p>  record.setChatime(new Date());</p><p>  

100、record.setUser(causer);</p><p>  record.setSendto(sendto);</p><p>  if (talking == null) {</p><p>  talking = recordService.getList();</p><p><b>  }</b><

101、/p><p>  if (record.getCont()!=null &&!record.getCont().equals("")) {</p><p>  if(contService.selectCont(record.getCont())){</p><p>  recordService.addRecord(record);

102、</p><p><b>  }else{</b></p><p>  record.setCont("**您的消息不合法已被系統(tǒng)屏蔽!**);</p><p><b>  }</b></p><p>  talking.add(record);</p><p>&

103、lt;b>  }</b></p><p>  session.getServletContext().setAttribute("talking",talking);</p><p>  return SUCCESS;</p><p><b>  }}</b></p><p>  r

104、eturn ERROR;</p><p><b>  }</b></p><p><b>  6.5 后臺管理</b></p><p>  在用戶登錄頁面,有兩種角色,一種是普通用戶,一種是管理員。其中普通用戶登錄在6.2中已經(jīng)介紹了,現(xiàn)在介紹管理員的功能。在登錄頁面輸入管理員賬號和密碼,點(diǎn)擊登錄,系統(tǒng)將會通過查詢數(shù)據(jù)庫

105、驗(yàn)證輸入的信息,查看數(shù)據(jù)庫是否存在該用戶,若存在,密碼是否正確,若密碼錯誤,則登錄失敗,繼續(xù)停留在登錄頁面,若密碼正確,則跳轉(zhuǎn)到后臺管理頁面。管理員登錄后,登錄的是后臺管理頁面,登錄后為為隱身狀態(tài),普通用戶在在線用戶列表中無法看到管理員。管理員登錄后臺管理頁面后,能看到后臺管理頁面中,管理員能夠?qū)崿F(xiàn)的功能有在線用戶管理、用戶資料管理、過濾字段管理、聊天記錄管理、音樂文件管理。</p><p>  管理員登錄后的后

106、臺管理頁面的運(yùn)行結(jié)果如圖21所示:</p><p>  圖21 管理員登錄后的后臺管理頁面</p><p>  在聊天室聊天時(shí),用戶可以發(fā)送聊天信息,在聊天時(shí)有可能會遇到某些用戶發(fā)送不文明的語言,這時(shí)可以在系統(tǒng)的后臺管理頁面設(shè)置“過濾非法字段”。在后臺管理中,可以通過設(shè)置過濾字段,過濾聊天信息。設(shè)置過濾字段的時(shí)候,系統(tǒng)將在數(shù)據(jù)庫插入用戶設(shè)置的內(nèi)容,當(dāng)前臺用戶發(fā)送的內(nèi)容與后臺非法字段設(shè)置的內(nèi)

107、容相同時(shí),系統(tǒng)將會字段屏蔽該信息,并在聊天頁面的聊天室發(fā)送警告。通過過濾非法字段的設(shè)置,能夠在一定程度上讓聊天室保持一個文明的公共聊天室環(huán)境,當(dāng)然這也不是絕對的保證聊天室的文明,想要擁有一個文明的公共環(huán)境,還需要靠用戶自覺來維護(hù)聊天室的公共文明。</p><p>  后臺管理界面中過濾字段管理頁面如圖22所示</p><p>  圖22 過濾字段管理頁面</p><p&

108、gt;  在聊天室中,用戶可以發(fā)送聊天信息,在聊天時(shí)有可能會遇到某些用戶發(fā)送不文明的語言,若是管理員覺得用戶經(jīng)常發(fā)送不文明語言,想將該用戶踢出,在點(diǎn)擊踢出后,系統(tǒng)將會在數(shù)據(jù)庫中執(zhí)行刪除該用戶的語句。通過在線用戶的管理,能夠在一定程度上讓聊天室保持一個文明的公共聊天室環(huán)境。</p><p>  后臺管理界面中在線用戶管理頁面如圖23所示:</p><p>  圖23 在線用戶管理頁面<

109、/p><p>  在聊天室聊天時(shí),用戶輸入要發(fā)送的信息。點(diǎn)擊發(fā)送時(shí),系統(tǒng)將會在數(shù)據(jù)庫中將用戶發(fā)送的信息插入到表中,在后臺管理頁面中,系統(tǒng)通過查詢數(shù)據(jù)庫,將用戶發(fā)送的信息顯示到界面中,后臺管理員能夠刪除用戶的聊天記錄,還能夠到處聊天記錄,方便備份聊天記錄。</p><p>  后臺管理界面中聊天記錄管理頁面如圖24所示:</p><p>  圖24 聊天記錄管理界面<

110、;/p><p>  在前臺聊天頁面中,有在線音樂試聽的功能,在后臺管理頁面中同樣有歌曲管理功能,管理員能夠在后臺添加歌曲、刪除歌曲。</p><p>  后臺管理界面中歌曲管理頁面如圖25所示:</p><p><b>  圖25歌曲管理界面</b></p><p><b>  核心代碼如下所示:</b>

111、;</p><p>  public String execute() {</p><p>  Integer UId=Integer.valueOf(ServletActionContext.getRequest().getParameter("user"));</p><p>  User user=new User();</p>

112、<p>  user.setUId(UId);</p><p>  User olduser=userService.findById(user);</p><p>  if(olduser!=null){</p><p>  olduser.setIsuse(User.OFF_LINE);</p><p>  userServ

113、ice.update(olduser);</p><p>  List<User> ulist=userService.findIsOnline();</p><p>  ServletActionContext.getServletContext().setAttribute("ulist", ulist);</p><p><

114、;b>  }</b></p><p>  return SUCCESS;</p><p><b>  }</b></p><p><b>  7 系統(tǒng)測試</b></p><p>  7.1 系統(tǒng)測試 </p><p>  本系統(tǒng)經(jīng)過需求分析、系統(tǒng)設(shè)計(jì)、

115、系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)等階段后得到系統(tǒng)的源程序,現(xiàn)在開始進(jìn)入到軟件測試階段。軟件測試是用來測試一個軟件的質(zhì)量和性能是否符合用戶需求,軟件是否能夠正確運(yùn)行的重要階段,是軟件開發(fā)過程的必不可少的重要組成部分,是軟件質(zhì)量保證的關(guān)鍵步驟。</p><p><b>  (1)鏈接測試</b></p><p>  進(jìn)行系統(tǒng)測試時(shí),首先要測試系統(tǒng)的鏈接是否可用。測試系統(tǒng)的鏈接可以從三方

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論