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

正文內(nèi)容

網(wǎng)絡(luò)聊天室系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)(編輯修改稿)

2024-07-27 09:30 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 正確的情況下,存入數(shù)據(jù)庫(kù)的時(shí)候直接將變量值添入數(shù)據(jù)庫(kù)即可,并返回?cái)?shù)據(jù)4,前臺(tái)接收到數(shù)據(jù)4則提示用戶(hù)注冊(cè)成功,并跳轉(zhuǎn)到登錄界面,用戶(hù)可以直接用剛剛注冊(cè)的用戶(hù)登錄進(jìn)入聊天室主頁(yè),若存入數(shù)據(jù)庫(kù)失敗,則返回?cái)?shù)據(jù)3,提示用戶(hù)注冊(cè)失敗。下面以“zhuwei”為用戶(hù)名,“111”為密碼進(jìn)行注冊(cè),前提是數(shù)據(jù)庫(kù)中沒(méi)有該數(shù)據(jù)的記錄,結(jié)果是注冊(cè)成功。數(shù)據(jù)庫(kù)chatroom,表user中的數(shù)據(jù)記錄:圖51 數(shù)據(jù)庫(kù)記錄注冊(cè)界面以及填寫(xiě)的信息,可以看到數(shù)據(jù)庫(kù)并沒(méi)有該數(shù)據(jù)的記錄。圖52 注冊(cè)用戶(hù)zhuwei注冊(cè)成功:圖53 注冊(cè)成功用戶(hù)在聊天室登錄界面填入正確的注冊(cè)信息,單擊登錄,系統(tǒng)將自動(dòng)把用戶(hù)填入的“帳號(hào)”、“密碼”于數(shù)據(jù)庫(kù)中存放的用戶(hù)注冊(cè)信息進(jìn)行比對(duì)驗(yàn)證。系統(tǒng)進(jìn)行用戶(hù)身份驗(yàn)證時(shí),首先利用Request對(duì)象,將用戶(hù)填入的“帳號(hào)”(即用戶(hù)名)、“密碼”傳遞給預(yù)先定義的變量,再使用Select語(yǔ)句,將變量值與用戶(hù)信息表進(jìn)行比對(duì)ListObject list = ( from User where username=?, username)。當(dāng)list不為空時(shí),表示該用戶(hù)名已經(jīng)注冊(cè)可以進(jìn)行登錄操作,然后比對(duì)密碼是否與數(shù)據(jù)庫(kù)中的密碼一致。User user = (User) (0)。if((()))如果一致,用戶(hù)登錄成功,頁(yè)面發(fā)生跳轉(zhuǎn),如果一開(kāi)始用戶(hù)名不存在于數(shù)據(jù)庫(kù)list == null (),提示用戶(hù)用戶(hù)名錯(cuò)誤。如果密碼不一致提示用戶(hù)密碼錯(cuò)誤。以Response對(duì)象的Redirect方法跳轉(zhuǎn)到聊天主頁(yè)面,Response對(duì)象的Redirect方法是實(shí)現(xiàn)頁(yè)面的跳轉(zhuǎn),使當(dāng)前頁(yè)面跳轉(zhuǎn)到指定的頁(yè)面。在用戶(hù)登錄進(jìn)聊天主頁(yè)面的同時(shí),系統(tǒng)將該用戶(hù)的用戶(hù)名以及該用戶(hù)的session存入application中的userMap集合中,目的是利用userMap集合遍歷出所有在線(xiàn)的用戶(hù),顯示在線(xiàn)用戶(hù)的用戶(hù)名。同時(shí),也將該用戶(hù)存入當(dāng)前session中,(“user”, User)。目的是在聊天主頁(yè)能夠獲取當(dāng)前用戶(hù)的信息,可以通過(guò)User對(duì)象中的type屬性,判斷當(dāng)前用戶(hù)的級(jí)別,是否為管理員,是否有權(quán)限踢出其他用戶(hù)。通過(guò)上述的用戶(hù)驗(yàn)證和數(shù)據(jù)傳遞,系統(tǒng)跳轉(zhuǎn)到聊天頁(yè)面,此時(shí)用戶(hù)便可在聊天主頁(yè)面進(jìn)行聊天交流了。下面以剛剛注冊(cè)的用戶(hù)信息登錄進(jìn)入聊天室:圖54 zhuwei用戶(hù)登錄點(diǎn)擊進(jìn)入,進(jìn)入聊天室,如下圖所示,可以看到該用戶(hù)已經(jīng)成功登錄并存入application的userMap集合中,當(dāng)前在線(xiàn)列表中也遍歷出來(lái)該用戶(hù)的用戶(hù)名,系統(tǒng)公告也顯示“zhuwei走進(jìn)聊天室!”。 圖55 在線(xiàn)人員列表顯示 圖56 系統(tǒng)公告顯示為了存儲(chǔ)所有登錄進(jìn)入聊天室的用戶(hù),在jsp的內(nèi)置對(duì)象application中設(shè)置一個(gè)集合屬性,userMapUser, HttpSession 該集合的關(guān)鍵字為User用戶(hù)對(duì)象,值是該用戶(hù)對(duì)象所對(duì)應(yīng)的session值。如此便可以根據(jù)user得到user的session值。為了判斷集合中的關(guān)鍵字user對(duì)象與傳入的user對(duì)象相等,在實(shí)體類(lèi)User中重寫(xiě)int hashCode() 與boolean equals(Object obj)方法比較兩者的id是否相同,id相同則User對(duì)象相同,反之則不相同。當(dāng)瀏覽器進(jìn)入登錄首頁(yè),創(chuàng)建servletContext對(duì)象,監(jiān)聽(tīng)器MyServletContextListener監(jiān)聽(tīng)servletContext對(duì)象的創(chuàng)建,就在向application中添加屬性u(píng)serMapUser, HttpSession。當(dāng)用戶(hù)確認(rèn)登錄成功,將User對(duì)象user添加到時(shí),在public void valueBound(HttpSessionBindingEvent event)方法中得到userMap,并向其添加當(dāng)前session與用戶(hù)user進(jìn)去。這樣application中就有所有登錄進(jìn)去聊天室的用戶(hù),${userMap}即可將所有在線(xiàn)用戶(hù)顯示出來(lái),如下圖所示:圖57 在線(xiàn)人員列表顯示當(dāng)某個(gè)用戶(hù)離開(kāi)或被管理員踢出聊天室時(shí),系統(tǒng)將得到的userMap集合根據(jù)離開(kāi)的用戶(hù)的id找到相應(yīng)的session,清除該session即可刪除離開(kāi)的用戶(hù)。在顯示當(dāng)前在線(xiàn)人員列表的時(shí)候,首先要判斷當(dāng)前用戶(hù)是否是管理員,管理員可以踢出其他用戶(hù),但是管理員之間是不可以相互踢出,即判斷條件為:當(dāng)前用戶(hù)的級(jí)別等于“admin”并且要顯示的用戶(hù)的級(jí)別不等于“admin”,在jsp中寫(xiě)成:c:if test=${ == 39。admin39。 and != 39。admin39。}/c:if在滿(mǎn)足條件的情況下,顯示“踢下線(xiàn)”。a href=?id=${ }amp。userName=${} class=tixiaxian踢下線(xiàn)/a下面登錄一個(gè)管理員“aaa”:圖58 登錄管理員在用戶(hù)“aaa”中的在線(xiàn)人員列表中用戶(hù)“zhuwei”的右邊顯示“踢下線(xiàn)”操作,但在用戶(hù)“zhuwei”的在線(xiàn)人員列表當(dāng)中用戶(hù)“aaa”的右邊不顯示“踢下線(xiàn)”操作: 圖59 aaa的在線(xiàn)人員顯示 圖510 zhuwei的在線(xiàn)人員顯示進(jìn)入聊天主頁(yè)面后,用戶(hù)便可在主頁(yè)面下方的發(fā)言界面設(shè)計(jì)書(shū)寫(xiě)自己想要說(shuō)的話(huà),以及想對(duì)誰(shuí)說(shuō),同時(shí),系統(tǒng)還提供了發(fā)言字體顏色選擇、插入表情、圖片的功能,如圖下圖所示,讓用戶(hù)的聊天更有趣味。圖511 寫(xiě)對(duì)話(huà)界面在點(diǎn)擊發(fā)送調(diào)用JavaScript的send()方法,在發(fā)送消息之前,確保已經(jīng)選擇聊天的對(duì)象,并將用戶(hù)名顯示在“[zhiwei]對(duì)”右邊的文本框中,以及發(fā)送的內(nèi)容不為空時(shí)。用戶(hù)發(fā)言界面采用Jsp表單from模式設(shè)計(jì),在表單包括發(fā)言對(duì)象、發(fā)言?xún)?nèi)容、發(fā)送內(nèi)容字體顏色以及發(fā)言顏色,并未它們每一個(gè)標(biāo)簽寫(xiě)上name值。這些表單數(shù)據(jù),通過(guò)post的異步刷新方式,提交到后臺(tái),后臺(tái)action的屬性中與jsp的標(biāo)簽?zāi)敲粗迪嗤?,并為每個(gè)屬性添加上set方法。在得到這些屬性值后,(from,to,fromId,oId)。方法得到對(duì)話(huà)的名稱(chēng)messageName,然后將這些屬性值寫(xiě)成html語(yǔ)言:sourceMessage += font color=39。blue39。strong + from + /strong/fontfont color=39。CC000039。 + face + /font對(duì)font color=39。green39。[ + to + ]/font size=39。15px39。說(shuō): + font color=39。 + color + 39。 + content + /font( + sendTime + )br。之后將sourceMessage存入application中:().setAttribute(messageName, sourceMessage)。到此為止,聊天內(nèi)容就已經(jīng)發(fā)送,等發(fā)言對(duì)象端接收并顯示消息內(nèi)容。在面管理員aaa將發(fā)送一段文字給用戶(hù)zhuwei:圖512 aaa向zhuwei發(fā)送一條對(duì)話(huà)當(dāng)聊天對(duì)象沒(méi)有選擇聊天對(duì)象時(shí),例如用戶(hù)“zhuwei”開(kāi)始并沒(méi)有選擇聊天對(duì)象“aaa”,但是“aaa”向“zhuwei”發(fā)送了消息,此時(shí),系統(tǒng)檢測(cè)到“zhuwei”有新消息,所有在jsp頁(yè)面中將把“aaa”的背景色變成紅色以提醒“zhuwei”有新消息來(lái)自“aaa”,如下圖所示。這個(gè)功能在輔助功能中介紹:圖513 zhuwei檢索到aaa有新消息提醒當(dāng)選擇聊天對(duì)象aaa后,jsp開(kāi)始刷洗界面,并調(diào)用JavaScript的方法showSendMessage(),在該方法中還是已post的異步刷新方式。在該action中同樣將獲取application的消息名稱(chēng),并根據(jù)此消息名稱(chēng)獲得相應(yīng)的對(duì)話(huà):String message = (String) ().getAttribute(messageName)。如果message不等于null,則向jsp中輸出message:().println(message)。在jsp中的回調(diào)函數(shù)中獲得data,并在id為content的div中顯示data:$(content).html(sysBBS + data + /span)。Jsp界面每隔1s就刷新界面。例如用戶(hù)“zhuwei”收到來(lái)自“aaa”的消息,如下圖所示:圖514 zhuwei收到aaa的對(duì)話(huà)并顯示在聊天內(nèi)容中用戶(hù)“zhuwei”回復(fù)用戶(hù)“aaa”:圖515 zhuwei向aaa回復(fù)一條對(duì)話(huà)在用戶(hù)“aaa”的界面中收到來(lái)自“zhuwei”的回話(huà):圖516 aaa收到zhuwei的回復(fù)至此,聊天信息的顯示完畢。系統(tǒng)消息包括聊天室守則“歡迎來(lái)到聊天室,請(qǐng)遵守聊天室規(guī)則,不要使用不文明用語(yǔ)?!钡娘@示;還有就是系統(tǒng)公告的顯示。首先聊天室準(zhǔn)則的顯示,一旦用戶(hù)登錄進(jìn)入聊天室守則就被顯示在聊天內(nèi)容的下方,它的實(shí)現(xiàn)主要是在jsp中,:var sysBBS = span style=39。fontsize:14px。 color:red。 lineheight:30px。39。歡迎來(lái)到聊天室,請(qǐng)遵守聊天室規(guī)則,不要使用不文明用語(yǔ)。/spanbrspan style=39。lineheight:22px。39。$(content).html(sysBBS)。這兩句js代碼。而當(dāng)用戶(hù)開(kāi)始選擇聊天對(duì)象進(jìn)行聊天時(shí),調(diào)用的顯示聊天信息的action返回到j(luò)sp的data時(shí),sysBBS與data一同顯示在聊天內(nèi)容上:$(content).html(sysBBS + data + /span)。對(duì)于系統(tǒng)公告,首先創(chuàng)建了一個(gè)實(shí)體類(lèi)Message,其中它的屬性包括了所有系統(tǒng)公告的內(nèi)容;當(dāng)用戶(hù)調(diào)用登錄action時(shí),并且驗(yàn)證成功,登錄成功時(shí),向application中添加屬性sysMessageMapString, String,并且屬性記錄用戶(hù)登錄情況:((), ())。().setAttribute(sysMessageMap, sysMessageMap)。當(dāng)用戶(hù)離開(kāi)聊天室時(shí),向application中得到sys
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1