基于java的在线聊天系统设计
基于java的在線聊天系統(tǒng)設(shè)計
在進(jìn)入20世紀(jì)90年代以后,信息量就以幾何倍的數(shù)量進(jìn)行增長,而互聯(lián)網(wǎng)的出現(xiàn)則促進(jìn)了信息的傳播,21世紀(jì)更是一個信息大爆炸的時代,計算機(jī)及互聯(lián)網(wǎng)已被廣泛運(yùn)用到各個領(lǐng)域及地區(qū)。隨著互聯(lián)網(wǎng)的高速發(fā)展,人們通過網(wǎng)絡(luò)可以更方便快捷地進(jìn)行信息交流和學(xué)習(xí),聊天系統(tǒng)正是可以為大家提供這樣的一個交流平臺,人們可以通過文字與符號進(jìn)行實時的交流。聊天室是一個向整個因特網(wǎng)開放的地方,是提供給網(wǎng)民一個交友與娛樂的場所,在這個虛擬的社會中,可以結(jié)交到各層次各地方的朋友,從而使得網(wǎng)絡(luò)用戶能夠獲取更多的知識,并增強(qiáng)個人的閱歷。在聊天室里網(wǎng)民可選擇自己的感興趣的房間、聊天對象,與其進(jìn)行對話交流,是網(wǎng)民之間相互溝通、交流情感的最佳方式之一。同時它已成為各網(wǎng)站提供的一個服務(wù)標(biāo)準(zhǔn),是吸引網(wǎng)民,提高人氣的一個重要方式。
本人所設(shè)計的網(wǎng)絡(luò)聊天系統(tǒng)采用的是JSP和Servlet技術(shù)來實現(xiàn)的,其中主要介紹了本聊天系統(tǒng)的各項基本功能,如:用戶注冊、在線聊天等。通過聊天系統(tǒng)的設(shè)計,熟悉了一個網(wǎng)站建設(shè)的基本流程。包含網(wǎng)頁的制作、服務(wù)器的建立與管理、數(shù)據(jù)庫的建立與使用等。采用了MyEclipse 8.5編輯器、SQL Server 2005數(shù)據(jù)庫、Tomcat 6.0應(yīng)用程序服務(wù)器。
關(guān)鍵詞 網(wǎng)絡(luò)聊天室,交流平臺,JSP,Servlet
1 引言 1
1.1 開發(fā)背景 1
1.2 開發(fā)意義 1
1.3 實現(xiàn)目標(biāo) 2
2 需求分析 2
2.1 功能需求 2
2.2 系統(tǒng)流程分析 3
2.3 數(shù)控庫需求分析 3
2.4 數(shù)據(jù)流圖 3
2.5 用例描述 4
3 總體設(shè)計 5
3.1 系統(tǒng)功能設(shè)計 .6
3.2 系統(tǒng)開發(fā)平臺及主要技術(shù) 6
3.3 系統(tǒng)功能結(jié)構(gòu)圖 8
3.4 系統(tǒng)流程圖 9
3.5 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計 10
3.6 邏輯結(jié)構(gòu)的設(shè)計 12
4 詳細(xì)設(shè)計 14
4.1 系統(tǒng)運(yùn)行環(huán)境配置 14
4.2 具體功能 16
4.3 系統(tǒng)測試 50
5 運(yùn)行環(huán)境 50
5.1 軟件環(huán)境 51
5.2 硬件環(huán)境 51
結(jié) 論 51
致 謝 53
參 考 文 獻(xiàn) 54
1.2 開發(fā)意義
Internet 是目前世界上最大的計算機(jī)互聯(lián)網(wǎng),它將世界各地各種規(guī)模的網(wǎng)絡(luò)連接成一個整體。據(jù)有關(guān)人士統(tǒng)計,目前Internet上已有上百萬個網(wǎng)站,其范圍跨越了金融、商業(yè)、新聞、教育、科技、文化、娛樂、體育等各個領(lǐng)域。因此可見,建設(shè)一個好的網(wǎng)站對于一個機(jī)構(gòu)、企業(yè)的發(fā)展十分的重要。
這些年來隨著計算機(jī)網(wǎng)絡(luò)的快速發(fā)展,人們的生活有了很多的改變。各種各樣的在線服務(wù)系統(tǒng),更是深刻的影響了人們的生活和交流方式,使得人們能在全球的任何能連接上網(wǎng)絡(luò)的人進(jìn)行隨時通訊。所以網(wǎng)上聊天系統(tǒng)作為一種方便消費(fèi)者與人們之間聯(lián)系的實用系統(tǒng)便這樣出現(xiàn)了。網(wǎng)上聊天系統(tǒng)是為了讓人們能更好更快捷的進(jìn)行交流和聯(lián)系而提供的一個交流平臺。因此通過提供完善的網(wǎng)上聊天系統(tǒng)的管理,可以達(dá)到增進(jìn)人們與人們之間交流和聯(lián)系的目的,這也是研究本課題所得到的一些相關(guān)了解與啟發(fā)。
1.3 實現(xiàn)目標(biāo)
普通用戶與管理員用戶模塊主要實現(xiàn)以下目標(biāo):
1)普通用戶:注冊賬號,查看用戶資料,查看聊天信息,私聊,群聊。
2)管理員用戶:警告,禁言,踢人,刪除用戶,聊天室管理等等。
2 需求分析
2.1 功能需求
系統(tǒng)聊天室的基本功能如下:
1、實現(xiàn)聊天室的基本功能,能讓每一個用戶發(fā)言,按照各自的聊天對象準(zhǔn)確的發(fā)送到指定的目的用戶上。
2、顯示在線用戶列表,方便用戶選擇交流對象。
3、發(fā)言區(qū)就是輸入單元,能夠讓用戶按照自己的喜好來發(fā)表觀點,給用戶提供豐富的字體、表情、顏色、大小等功能。
4、接收區(qū)就是輸出單元,讓用戶能清楚的看到自己以及其他用戶的會話。
5、屏蔽敏感詞匯功能,為了營造一個和諧氣氛的聊天室,把敏感、過激等言辭屏蔽。
6、用戶可以修改自己的個人資料。
7、用戶可以查看歷史聊天記錄。
8、管理員在登錄聊天室后,除了可以聊天外,還擁有各種管理權(quán)限。如下:
(1)對不遵守聊天規(guī)則的用戶進(jìn)行警告,并通知本聊天室在線的所有用戶,該用戶被警告了。
(2)對不遵守聊天規(guī)則的用戶進(jìn)行禁言,該用戶就不能再發(fā)言了。
(3)對不遵守聊天規(guī)則的用戶踢出聊天室,該用戶就會被踢出本聊天室了。
(4)對不遵守聊天規(guī)則的用戶進(jìn)行刪除,即拉入黑名單,從數(shù)據(jù)庫中將該用戶信息進(jìn)行徹底刪除了。
(5)管理員可對所有的聊天室進(jìn)行管理。根據(jù)用戶的請求增加聊天室、刪除聊天室、修改聊天室。
(6)管理員可查看所有用戶的基本資料,也可選擇查看本聊天室的所有用戶的基本資料。
2.2 系統(tǒng)流程分析
系統(tǒng)基本的功能流程:
(1)用戶注冊一個屬于自己的用戶名和密碼。
(2)用戶登錄聊天室。
(3)根據(jù)用戶的個人喜好,選擇進(jìn)入不同的聊天室。
(4)用戶進(jìn)入聊天室后,系統(tǒng)通知所有在線用戶,有新用戶進(jìn)入該聊天室,并將該新用戶顯示在聊天室的用戶名列表中,其他的用戶可以通過單擊用戶名列表中的用戶名來進(jìn)行交流。
(5)聊天室支持個性化聊天內(nèi)容。
(6)當(dāng)有用戶想退出聊天室,系統(tǒng)通知所有此聊天室的在線用戶。
2.3 數(shù)據(jù)庫需求分析
本系統(tǒng)是一個網(wǎng)上聊天系統(tǒng),必須要用到數(shù)據(jù)庫來存儲信息。數(shù)據(jù)庫需求分析主要是用來分析用戶的需求,要建立一個符合本系統(tǒng)的數(shù)據(jù)庫,就必須要先了解它的作用。數(shù)據(jù)庫需求分析是數(shù)據(jù)庫設(shè)計的前奏,也是最需要消耗時間、最麻煩的部分。
2.4數(shù)據(jù)流圖
數(shù)據(jù)流圖DFD,是一種描述系統(tǒng)中數(shù)據(jù)流程的圖形工具,它用圖形的方式來表達(dá)系統(tǒng)的邏輯功能和數(shù)據(jù)在系統(tǒng)內(nèi)部的邏輯流向與邏輯變換過程。下面是用戶登錄的數(shù)據(jù)流圖:
核心代碼(sendMsgServlet.java):
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType(“text/html;charset=utf-8”);
request.setCharacterEncoding(“utf-8”);
response.setCharacterEncoding(“utf-8”);
HttpSession session = request.getSession();
PrintWriter out = response.getWriter();
//首先檢測發(fā)送信息的聊天用戶是否已經(jīng)被踢出聊天室
//如果已經(jīng)被踢出聊天室,后面的信息發(fā)送程序?qū)⒉辉賵?zhí)行
String userName = session.getAttribute(“username”).toString();
String chatRoom = session.getAttribute(“chatRoom”).toString();
if(onlineUserDao.getKickedUser(userName, chatRoom))
{
out.println(“”);
}
原文鏈接:http://www.51jrft.com/jsj/jsjkxyjs/24380.html
總結(jié)
以上是生活随笔為你收集整理的基于java的在线聊天系统设计的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 易语言外部数据库MySQL支持库Acce
- 下一篇: 工业建筑的应急照明系统的设计原则及常见电