




已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
聊天室的設計與實現(xiàn)實驗報告計算機科學與技術學院2011電子商務組長:20110874005張藝婧成員:20110874002張博20110874006徐偏偏20110874007滕雪嬌20110874011宋麗紅20110874015鄭元斌20110874025楊海磊目錄一、目的和意義3二、設計中用到的知識3(一) 開發(fā)工具的選擇3(二)硬件、軟件、運行環(huán)境和開發(fā)環(huán)境方面的條件和限制4三、聊天室分析4(一)功能模塊分析41、用戶注冊登錄模塊42、用戶發(fā)言的模塊43、聊天內(nèi)容顯示模塊44、在線用戶列表顯示模塊45、輔助區(qū)模塊56、退出系統(tǒng)5(二)系統(tǒng)功能模塊圖為:5(三)系統(tǒng)流程圖6四、系統(tǒng)設計(界面、功能、數(shù)據(jù)庫)6五、系統(tǒng)實現(xiàn)8(一) 登陸界面8(二)聊天界面9(三)聊天內(nèi)容獲取12(四)信息發(fā)送12(五)保存用戶信息12(六)用戶登錄時間過期14(七)退出界面14(八)樣式表15 一、目的和意義這是一個具有最簡單功能的聊天室。通過該聊天室,用戶可以通過設置不同的用戶名和密碼以各種不同的身份進入聊天室,用戶的類型有兩種:普通用戶和管理員。普通用戶可以在聊天室中發(fā)送信息,也可以和指定的聊天對象用戶私聊。管理員出了具有普通用戶的功能外,還可以對在線用戶和所有數(shù)據(jù)庫中的用戶進行設置,以便對聊天室進行維護。管理員可以把在線用戶踢出聊天室,還可以刪除其他管理員不希望再次進入聊天室的用戶。聊天室又分為三類,用戶可以根據(jù)自己的需要進入不同的聊天室進行聊天。系統(tǒng)還應具有自動把在線但是不發(fā)言的時間超過系統(tǒng)設置的時間的用戶踢出聊天室和的功能,還應具有當有新用戶進入聊天室時,實時更新在線用戶的功能。聊天室的特點就是要求能夠?qū)崟r顯示出聊天者所談的內(nèi)容。即在同一個聊天室的使用者,可以在短時間內(nèi)立刻看到其他聊天者的發(fā)言。作為用戶喜歡的Web應用程序,出了具有能夠?qū)崟r顯示出聊天者所談論的內(nèi)容外,還應具有以多種方式發(fā)布信息的功能。JSP正好可以滿足聊天室的這種要求,它可以快速地創(chuàng)建和顯示W(wǎng)eb頁面的動態(tài)內(nèi)容??偟膩碚f,本聊天室主要實現(xiàn)了以下的功能:l 用戶輸入帳號,密碼登錄聊天室l 把用戶的聊天信息寫入數(shù)據(jù)庫l 多人共同聊天l 防止惡意刷屏l 語言過濾功能,避免一些敏感詞匯l 顯示當前聊天客戶列表l 顯示聊天室人員變動信息(進入聊天室、離開聊天室等)l 聊天室不斷地對數(shù)據(jù)庫進行刷新、讀取二、設計中用到的知識(一)開發(fā)工具的選擇TML代碼和嵌入其中的JAVA代碼所組成。服務器在頁面被客戶端請求以后對這些JAVA代碼進行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。JSP技術使用JAVA編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務端的資源的應用邏輯。本實驗利用JSP編寫基礎的網(wǎng)頁跳轉等代碼,利用.css樣式表文件規(guī)定頁面所應用的格式。(二)硬件、軟件、運行環(huán)境和開發(fā)環(huán)境方面的條件和限制(1)硬件資源服務器:小型機 網(wǎng)絡設備:網(wǎng)絡交換機、網(wǎng)卡、網(wǎng)線 (2)軟件資源服務器端軟件的具體要求: 操作系統(tǒng):Windows XP /Windows 7 開發(fā)平臺:Eclipse 客戶端軟件的具體要求: Web瀏覽器 三、聊天室分析(一)功能模塊分析1、用戶注冊登錄模塊完成新用戶注冊,將注冊信息添加到數(shù)據(jù)庫中,用于用戶的股驗證,經(jīng)過登錄驗證的用戶即可進入聊天室進行聊天。2、用戶發(fā)言的模塊除了提供聊天的內(nèi)容輸入外,還可顯示當前用戶正在對誰發(fā)言,可以選擇發(fā)言的顏色和發(fā)言的表情。完成聊天的內(nèi)容輸入外,通過單擊“提交”按鈕或者按回車按鈕外,即可顯示聊天的內(nèi)容。3、聊天內(nèi)容顯示模塊主要將每個用戶的聊天內(nèi)容顯示到網(wǎng)頁中,讓內(nèi)容對指定的內(nèi)容可見(指私聊中)。4、在線用戶列表顯示模塊其實現(xiàn)在線用戶和在線人數(shù)的統(tǒng)計,并將在線用戶顯示出來。5、輔助區(qū)模塊可提供清屏,刷新,顯示名單的操作功能。6、退出系統(tǒng) 退出在線聊天系統(tǒng),關閉頁面。(二)系統(tǒng)功能模塊圖為:在線聊天室用戶登錄聊天發(fā)言顯示聊天信息顯示在線用戶查看聊天記錄用戶退出過濾敏感詞匯(三)系統(tǒng)流程圖開始用戶登陸帳號錯誤帳號正確張卻帳號判斷選擇聊天室提示從新輸入或注冊提示人員變動狀態(tài),顯示聊天信息顯示聊天內(nèi)容刪除注冊用戶顯示聊天信息過濾敏感信息查看聊天記錄選擇聊天對象是否退出結束四、系統(tǒng)設計(界面、功能、數(shù)據(jù)庫)建立一個名為chatroom的Mysql數(shù)據(jù)庫。數(shù)據(jù)庫中共使用五個表分別名為: 表4-1 用戶信息表(userinfo)列名數(shù)據(jù)類型長度允許空User_nameVarchar50NopasswordVarchar50NoUser_idInt8NoUser_mailVarchar50YesFlagVarchar50表4-2 在線用戶表(onlineuser)列名數(shù)據(jù)類型長度允許空User_idInt10User_nameVarchar50Chat_roomVarcahr255Login_timeDatetime8表4-3 聊天記錄(msginfo)列名數(shù)據(jù)類型長度允許空chatroomVarchar50msgfromVarchar50MsgtoVarchar50msgkindInt8msgcontentText16msgtimeDate4表4-4 聊天室表(chatinfo)列名數(shù)據(jù)類型長度允許空chatidInt50ChatnameVarchar50chatmsg Varchar50五、系統(tǒng)實現(xiàn)(一)登陸界面用戶可以任意填寫用戶名登錄聊天室,但不允許為空。利用javascript語言完成。實現(xiàn)代碼:function check()if(form1.username.value=)alert(請輸入用戶名!);form1.username.focus();return false;else if(form1.username.value=)alert(請不要輸入非法字符!);form1.username.focus();return false; 用戶登錄成功以后通過一個form表單跳轉到main.jsp界面進入聊天狀態(tài)。跳轉代碼: 頁面如下: 頁面上方的文字主要通過系統(tǒng)公告的方式,主要實現(xiàn)代碼如下:var sysBBS=歡迎光臨GOSSIP聊天室,請遵守聊天室規(guī)則,不要使用不文明用語。;/此處需要加?nocache=+new Date().getTime(),否則將出現(xiàn)在線人員列表不更新的情況。(二)聊天界面用戶進入聊天界面主要以各種表情、各種文字顏色對不同的聊天者發(fā)送信息。用戶可以通過聊天者發(fā)言功能,發(fā)送聊天信息,實現(xiàn)發(fā)言功能的程序是main.jsp 用戶聊天時必須選擇聊天對象,所有人和正在在線的人的名稱2種選項,實現(xiàn)方式:function set(selectPerson)/自動添加聊天對象if(selectPerson!=$username)form1.to.value=selectPerson;elsealert(請重新選擇聊天對象!);當聊天信息超過一屏時,設置最先發(fā)送的聊天信息不顯示,實現(xiàn)代碼如下:function checkScrollScreen() if(!form1.scrollScreen.checked) document.getElementById(content).style.overflow=scroll; else document.getElementById(content).style.overflow=hidden; document.getElementById(content).scrollTop = document.getElementById(content).scrollHeight*2; setTimeout(checkScrollScreen(),500);用戶選擇表情時通過select 函數(shù),具體代碼如下: 無表情的 微笑著 笑呵呵地 熱情的 溫柔的 紅著臉 幸福的 嘟著嘴 熱淚盈眶的 依依不舍的 得意的 神秘兮兮的 惡狠狠的 大聲的 生氣的 幸災樂禍的 同情的 遺憾的 正義凜然的 嚴肅的 慢條斯理的 無精打采的用戶可以選用自己喜歡的顏色做字體顏色,具體代碼如下: 字體顏色: 默認顏色 紅色熱情 藍色開朗 桃色浪漫 綠色青春 青色清爽 紫色拘謹 暗夜興奮 深藍憂郁 卡其制服 鎦金歲月 湖波蕩漾 發(fā)亮藍紫 愛的暗示 墨綠深沉 煙雨蒙蒙 /;.(三)聊天內(nèi)容獲取用戶獲取聊天內(nèi)容是通過contentType 函數(shù),代碼:$message(四)信息發(fā)送用戶發(fā)送信息是通過從新定向的方法,跳轉頁面到main.jsp中利用其中的功能代碼:(五)保存用戶信息 用戶利用用戶名進行登錄,利用String username=request.getParameter(username);/獲得登錄用戶名UserInfo user=UserInfo.getInstance();/獲得UserInfo類的對象session.setMaxInactiveInterval(600);/設置Session的過期時間為10分鐘Vector vector=user.getList();boolean flag=true;/標記是否登錄的變量/判斷用戶是否登錄if(vector!=null&vector.size()0)for(int i=0;ivector.size();i+)if(user.equals(vector.elementAt(i)out.println(alert(該用戶已經(jīng)登錄);window.location.href=index.jsp;);flag=false;break;/保存用戶信息if(flag)UserListener ul=new UserListener();ul.setUser(username);session.setAttribute(user,ul);session.setAttribute(username,username);user.addUser(ul.getUser();/保存當前登錄的用戶名session.setAttribute(loginTime,new Date().toLocaleString();/保存登錄時間response.sendRedirect(Messages?action=loginRoom);%(六)用戶登錄時間過期代碼:%if (null=session.getAttribute(username) | .equals(session.getAttribute(username)out.println(alert(您的賬戶已經(jīng)過期,請重新登錄!);window.location.href=index.jsp;);return;% (七)退出界面用戶退出聊天室時出現(xiàn)歡迎您下次光臨對話框,點擊確定后回到主頁面主要實現(xiàn)方式是通過button-exit按鈕的onclick事件,安全退出時:function Exit()window.location.href=leave.jsp;alert(歡迎您下次光臨!);當不安全退出時:window.onbeforeunload=function() /當用戶單擊瀏覽器中的關閉按鈕時執(zhí)行退出操作 if(event.clientYdocument.body.scrollWidth) Exit(); /執(zhí)行退出操作 返回登錄界面代碼:(八)樣式表代碼:a font-size: 9pt;text-decoration: none;color: #3C404D;tdfont-size:12px;.btn_grey font-family: 宋體;font-size: 9pt;color: #333333;background-color: #eeeeee;cursor: hand;padding:1px;height:19px;border-top: 1px solid #FFFFFF;border-right:1px solid #666666;border-bottom: 1px solid #666666;border-left: 1px solid #FFFFFF;.btn_bg background-image:url(./images/button.jpg); border:#436E9B thin 0px;width:56px;height:20px;padding:4px;color:#FFFFFF;input font-family: 宋體;fo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 西安外國語大學《服裝工業(yè)樣板》2023-2024學年第二學期期末試卷
- 天津城市職業(yè)學院《電機原理與電機拖動》2023-2024學年第二學期期末試卷
- 河南機電職業(yè)學院《工程倫理1》2023-2024學年第二學期期末試卷
- 新疆司法警官職業(yè)學院《中學教案分析實踐》2023-2024學年第二學期期末試卷
- 山東電力高等??茖W?!陡叻肿踊A》2023-2024學年第二學期期末試卷
- 長沙文創(chuàng)藝術職業(yè)學院《經(jīng)濟法實務》2023-2024學年第二學期期末試卷
- 湖南高爾夫旅游職業(yè)學院《化工原理(一)》2023-2024學年第二學期期末試卷
- 深圳信息職業(yè)技術學院《現(xiàn)代大地測量學》2023-2024學年第二學期期末試卷
- 江西衛(wèi)生職業(yè)學院《硬件描述語言與數(shù)字系統(tǒng)設計》2023-2024學年第二學期期末試卷
- 東莞城市學院《單片機課程設計》2023-2024學年第二學期期末試卷
- 國開(遼寧)2024年《中國傳統(tǒng)文化概觀》形考1-4答案
- 債權投資協(xié)議范本標準版
- DZ∕T 0221-2006 崩塌、滑坡、泥石流監(jiān)測規(guī)范(正式版)
- 醫(yī)學檢驗項目管理制度
- DBJ-T 15-98-2019 建筑施工承插型套扣式鋼管腳手架安全技術規(guī)程
- MOOC 統(tǒng)計學-南京審計大學 中國大學慕課答案
- 高考作文標準方格紙-A4-可直接打印
- 《陸上風電場工程設計概算編制規(guī)定及費用標準》(NB-T 31011-2019)
- 毛澤東詩詞鑒賞
- 肛腸科的中醫(yī)特色護理【醫(yī)院中醫(yī)護理及保健知識】
- 《高溫熔融金屬吊運安全規(guī)程》(AQ7011-2018)
評論
0/150
提交評論