freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于jsp的網(wǎng)上聊天室系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)論文-資料下載頁

2024-11-17 21:53本頁面

【導(dǎo)讀】訊工具上了,而更多的是通過因特網(wǎng)來實(shí)現(xiàn)相互交流。網(wǎng)絡(luò)聊天室作為時下相當(dāng)。流行的網(wǎng)上交流工具,它為廣大網(wǎng)民提供了一種方便快捷的溝通方式。網(wǎng)絡(luò)聊天室給人們的學(xué)習(xí)和生活帶來極大的。本系統(tǒng)采用JSP作為開發(fā)工具,后臺數(shù)據(jù)庫采用SQLServer2020數(shù)據(jù)庫設(shè)計(jì),天室的聊天功能和顯示在線聊天用戶信息等功能。

  

【正文】 ps = (sql)。 (1,userName)。 ResultSet rs = ()。 if(()) { 22 if((userPassword).equals(userPassword)) { SimpleDateFormat cal = new SimpleDateFormat(yyyyMMdd HH:mm:ss)。 String time = (new ())。 sql=update userInfo set lastLoginTime=? where nickName=?。 ps=(sql)。 (1,time)。 (2,userName)。 ()。 return SUCCESS_LOGIN。 } else return WRONG_PASSWORD。 } else return NONE_USER。 }catch(SQLException ex) { ()。 throw ex。 }catch(ClassNotFoundException ex) { ()。 throw ex。 } finally { ()。 //關(guān)閉數(shù)據(jù)庫連接,釋放 JDBC 資源 } } /** * 如果是新用戶時,將用戶登錄用戶名和密碼保存到數(shù)據(jù)庫中 * */ public boolean saveToDataBase(String userName,String userPassword) throws SQLException,ClassNotFoundException { …… } } 23 ? public String checklogin(String userName,String userPassword):堅(jiān)持用戶登錄信息,將用戶登錄時輸入的昵稱的密碼與數(shù)據(jù)庫中保存的信息進(jìn)行比較,并將比較的結(jié)構(gòu)以字符串信息返回 [8]。如果用戶登錄所有昵稱在數(shù)據(jù)庫中存在,并且登錄密碼正確,修改用戶的最后登錄時間,并返回字符串信息 SUCCESS_LOGIN;如果用戶登錄所有昵稱在數(shù)據(jù)庫中存在,單登錄密碼錯誤,返回字符串 WRONG_PASSWORD。如果用戶昵稱在數(shù)據(jù)中不存在,返回字符串信息 NONE_USER; ? public String checklogin(String userName,String userPassword):新用戶信息保存到數(shù)據(jù)庫中。如果在 checkLogin方法中返回的是 NONE_USER 字符串,表明是新用戶登錄,如果在 頁面中將調(diào)用本方法,將新用戶信息保存到數(shù)據(jù)庫中,并將最后登錄的時間設(shè)置為用戶登錄時的時間。 聊天室模塊 聊天室模塊實(shí)現(xiàn)聊天室的主體功能,包括選擇聊天室界面、用戶發(fā)送消息子頁面、在線用戶列表子頁面、聊天消息顯示子頁面。 聊天房間選擇頁面 聊天房間就是具有一個聊天主題的聊天室,用戶在進(jìn)入聊天室前可以根據(jù)自己 喜歡聊天主題選擇進(jìn)入不同的聊天室。聊天房間選擇界面( )提供給用戶選擇進(jìn)入不同聊天室的功能。 在進(jìn)入聊天房間選擇界面前,要對用戶是否登錄進(jìn)行檢測,以防止用戶非法使用聊天室的功能。一般用兩種方法檢測用戶是都登錄,一種是檢測瀏覽器Cookie,一種是檢測服務(wù)器端 Session。本系統(tǒng)使用 檢測服務(wù)器端 Session的方法來檢測用戶是否登錄 [8]。 登錄檢測主要是判斷用戶登錄時記錄的 sission、如果 Session為空或者計(jì)入的值不對,就表示是非正常登錄用戶登錄,返回用戶訪問的頁 面,不再執(zhí)行后面的程序。經(jīng)過 的檢測為正常訪問的頁面,向用戶輸出聊天房間選擇界面。 24 聊天房間選擇界面如下圖所示: 圖 42 聊天室選擇界面 聊天室選擇界面主要提供用戶一個單選表單,在呈現(xiàn)表單之前通過將 JSP 中的 include 指令包含進(jìn) 檢查時候?yàn)楹戏ㄓ脩簦绻欠欠ㄓ脩?,測程序返回,即程序不再向下執(zhí)行,并提示用戶未登錄。 在 總是用了 chatList 對象中的 countUser 方法來獲取各個聊房間中的在線人數(shù)。 chatList 是 JavaBean類 的實(shí)例。 用戶選擇號聊天房間單擊 “進(jìn)入 ”按鈕,將選擇信息提交給 處理 。 會接收判斷用戶懸著的是那個聊天房間然后 onlineUser表中添加一個在線用戶,將用戶懸著的聊天室保存到 Session 中,跳轉(zhuǎn)到聊天界面,進(jìn)入聊天室。 完成了一個從聊天室房間懸著頁面到聊天界面的中轉(zhuǎn)功能。在 中調(diào)用了 chatList 對象中的 addOnline 方法來添加一個在線用戶。 chatList 對象是 JavaBean類 的實(shí)例。 封裝選擇聊天室的 JavaBean組建 前面 中提高了用 ChatRoomList類的對象 chatlist來獲取各聊天房間中的在線人數(shù)。在 中通過 chatList 中的 addOnlinUser方法添加在線用戶。下面具體介紹 ChatRoomList 類。 的代碼。 package . 。chat //封裝選擇聊天房間的 javaBean public class ChatRoomList { /** * 計(jì)算聊天室中的在線人數(shù) 25 * */ public int countUser(String chatRoom) throws SQLException,ClassNotFoundException { BaseConn conn = null。 try { conn = new BaseConn()。 String sql=select count(*) As intCount from onlineUser where chatRoom=?。 PreparedStatement ps = (sql)。 (1,chatRoom)。 ResultSet rs = ()。 if(()) return (intCount)。 else return 0。 }catch(SQLException ex) { ()。 throw ex。 }catch(ClassNotFoundException ex) { ()。 throw ex。 }finally { ()。 } } /** * 有用戶登錄進(jìn)入聊天室時,在 onlineUser 表中添加一個用戶 * 首先判斷該用戶是否已經(jīng)在聊天室,如果不在聊天室就把該用 戶添加到聊天室在線用戶表中 * */ public boolean addOnlineUser(String userName,String chatRoom) throws SQLException,ClassNotFoundException { BaseConn conn = null。 try { conn = new BaseConn()。 26 //先判斷該用戶是不是已經(jīng)在該聊天室 String sql=select*from onlineUser where nickName=? and chatRoom=?。 PreparedStatement ps = (sql)。 (1,userName)。 (2,chatRoom)。 ResultSet rs = ()。 if(()) { return true。 } else { //如果聊天室不存在該用戶,將訪用戶添加到聊天室 的在線用戶表中 sql=insert into onlineUser(nickName,chatRoom) values(?,?)。 ps = (sql)。 (1,userName)。 (2,chatRoom)。 ()。 ()。 //獲取信息時 間,并將時間定義為 yearMonthday Hour:minutes:seconds SimpleDateFormat cal = new SimpleDateFormat(yyyyMMdd HH:mm:ss)。 String time = (new ())。 //在 msgInfo 表中添加一 條系統(tǒng)公告,歡迎新用戶進(jìn)入聊 天室 sql = insert into msgInfo(chatRoom,msgFrom,msgTo,chatTime,msgContent)values(?,?,?,?,?)。 ps = (sql)。 (1,chatRoom)。 (2,系統(tǒng)公告 )。 (3,所有人 )。 (4,time)。 (5,font color=red+userName+/font進(jìn)入了聊天室,大家歡迎 )。 ()。 return true。 } }catch(SQLException ex) { ()。 throw ex。 27 }catch(ClassNotFoundException ex) { ()。 throw ex。 }finally { ()。 } } 在 ChatRoomList 類中,我們定義了兩個方法,一個是 countUser 方法,用于計(jì)算聊天房間中的人數(shù),一個是 addOnlineUser 方法,用于添加一個在線用戶。 ? public int countUser(String chatRoom):計(jì)算聊天房間中的在線人數(shù),傳入需要計(jì)算的聊天房間。根據(jù) onlineUser 表中 ChatRoom 字段可以計(jì)算出 該聊天室中的在線人數(shù) ; ? public boolean addOnlineUser(String userName,String chatRoom):用戶成功進(jìn)入聊天室,為聊天室添加一個在線用戶,傳入?yún)?shù)為用戶昵稱和用戶選擇進(jìn)入的聊天房間。插入在線用戶之前要檢查該用戶是都已經(jīng)在聊天室聊天;如果用戶不存在與在現(xiàn)用戶表中,測不需要再插入一次,用戶直接進(jìn)入聊天室聊天;如果用戶不存在在線用戶表中,將用戶和用戶所選擇的料提案時信息插入在線用戶表中,同時在聊天信息中添加一句系統(tǒng)公告。 聊天界面 用戶在選擇聊天房間 之后進(jìn)入聊天室聊天。在聊天界面敬愛那個包含以下子模塊,即用戶發(fā)送消息頁面、在線用戶列表頁面、聊天信息顯示頁面。 用戶發(fā)送消息頁面 用戶通過頁面向聊天室內(nèi)其他用戶發(fā)送公開或者私有的聊天信息。此頁面還將完成懸著聊天信息顯示顏色、聊天表情等附帶功能。用戶離開聊天室和切換房間等功能也將在此頁面完成。 用戶發(fā)送消息頁面 如 下圖 43 所示: 28 圖 43 聊天室消息發(fā)送界面 和 頁面一樣, 首先要加載 ,來檢測用戶是否是合法登錄用 戶,如果是非法用戶,將不顯示輸入信息的表單。 提供了一個供用戶輸入聊天信息的 form表單, form表單包含了一個name 為 talkwith 的 input 輸入框,該輸入框被設(shè)為只讀屬性,用于顯示用戶選擇的聊天對象,如果該輸入框餓值為空,表示用戶對素有發(fā)送聊天信息。 Name 值為 usermessage 的 input 標(biāo)簽就是用戶輸入聊天信息的輸入框。這個 form 表單還提供了用戶選擇聊天信息顯示顏色和聊天表情的 select 的標(biāo)簽。 提供了一個離開聊天室的切換聊天房間的按鈕,這兩個按鈕都 通過鼠標(biāo)的單擊時間分別調(diào)用 JavaScript 中的離開函數(shù)( userlongout)和切換房間函數(shù)( userChangeRoom)。在整個 頁面定義了一個 onunload 時間,該時間將會在離開 頁面時觸發(fā),無論是關(guān)閉 IE 還是切換頁面都將會觸發(fā)該事件,該事件將調(diào)用 userLongout 事件。用戶關(guān)閉 IE 將被視為離開聊天室。 離開聊天室是通過 JavaScript 函數(shù) userLongout 調(diào)用 實(shí)現(xiàn)的。 調(diào)用 chatRoomObj 對象的 logout 方法,將要離開聊天室的用戶從在線用戶列表中刪除, chatRoomObj 是 類的實(shí)例。將用戶從在線列表中刪除后設(shè)置頁面 Session失效,頁面跳轉(zhuǎn)到登錄頁面,用
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1