日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

java web實(shí)現(xiàn)簡(jiǎn)單聊天室

瀏覽:25日期:2022-08-20 16:41:31

目標(biāo)

servlet、jsp實(shí)現(xiàn)簡(jiǎn)單聊天室,用戶通過(guò)瀏覽器登錄后進(jìn)入聊天室,可發(fā)送消息進(jìn)行群聊,點(diǎn)擊聊天信息框中的用戶名可實(shí)現(xiàn)拍一拍功能。

基礎(chǔ)知識(shí)

數(shù)據(jù)的存取 setAttribute / getAttribute request請(qǐng)求對(duì)象 :有效時(shí)間短

ServletContext上下文對(duì)象:一直存在于服務(wù)器,存儲(chǔ)公有、 共享數(shù)據(jù)Session會(huì)話對(duì)象:獨(dú)立

網(wǎng)站默認(rèn)頁(yè)面一般是index.jsp

實(shí)現(xiàn)思路

1.登錄頁(yè)面 login.jsp 輸入昵稱

2.編寫(xiě)一個(gè)LoginSevlet,處理登錄提交的昵稱,保存登錄昵稱到session(會(huì)話變量)若昵稱合法 if(nickname.length()!=0),跳轉(zhuǎn)到聊天室,不合法回到登錄頁(yè)面

3.編寫(xiě)聊天室頁(yè)面chatroom.jsp ,是一個(gè)框架,把多個(gè)頁(yè)面集成到一個(gè)頁(yè)面中

<iframe src='http://m.b3g6.com/bcjs/message.jsp' height='70%'> </iframe><iframe src='http://m.b3g6.com/bcjs/input.jsp' height='25%'> </iframe>

4.聊天內(nèi)容顯示message.jsp,不斷自動(dòng)刷新標(biāo)簽內(nèi)設(shè)置響應(yīng)頭,用${上下文變量}顯示聊天內(nèi)容

<meta http-equiv='refresh' content='1'>

5.input.jsp(不刷新)輸入聊天內(nèi)容文本框text,點(diǎn)擊發(fā)送聊天內(nèi)容按鈕時(shí),將把文本框的聊天信息提交給ChatServlet處理。下方有超鏈接可退出聊天室。

<a href='http://m.b3g6.com/bcjs/login.jsp' target='_top'>退出聊天室</a>

6.ChatServlet:檢測(cè)聊天信息合法性,把聊天信息加入到ServletContext變量(字符串)中,(每次都將xx:xxxx加入上下文字符串)判斷是否存在該變量,存在則直接讀取現(xiàn)有聊天內(nèi)容,把數(shù)據(jù)加入進(jìn)去后,重新寫(xiě)回上下文變量

7.實(shí)現(xiàn)拍一拍功能(目的:學(xué)習(xí)如何進(jìn)行鏈接操作)每個(gè)人名做成一個(gè)鏈接,訪問(wèn)某一個(gè)servlet,該servlet可以在聊天信息(上下文變量)里添加一行,xx拍了yyy一下,跳轉(zhuǎn)回message.jsp問(wèn)題:鏈接里應(yīng)該包含yyy參數(shù),servlet?nick=yyy

say = '<a href=’NickServlet?nickname='+nickname+'’target=’_parent’>'+nickname+'</a>'+':'+text;

8.多人聊天實(shí)現(xiàn):多種類(lèi)型瀏覽器

關(guān)鍵代碼

login.jsp

昵稱:<input type='text' name='nickname'/><br> <br><br><input type='submit' value='登錄'/><input type='reset' value='取消'/>

input.jsp

<form action='input.do' method='post'> <input type='text' size='50' name='text'/> <input type='submit' value='發(fā)送'><br><br><br><br> <a href='http://m.b3g6.com/bcjs/login.jsp' rel='external nofollow' rel='external nofollow' target='_top'>退出聊天室</a></form>

message.jsp

<h3>一起來(lái)聊天吧</h3>${says}

LoginServlet.java

package chatting;import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import java.io.IOException;import java.io.PrintWriter;@WebServlet(name = 'LoginServlet2',urlPatterns = {'/login.do'})public class LoginServlet2 extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //避免亂碼 response.setContentType('text/html;charset=utf-8'); request.setCharacterEncoding('utf-8'); //nickname保存用戶昵稱 String nickname = request.getParameter('nickname'); //nickname存儲(chǔ)到session變量中 HttpSession session = request.getSession(); session.setAttribute('nickname',nickname); //對(duì)nickname進(jìn)行合法性判斷 if(nickname.length()!=0){ //昵稱合法,則進(jìn)入聊天室頁(yè)面 request.getRequestDispatcher('/chatroom.jsp').forward(request,response); } else{ //昵稱不合法,返回登陸頁(yè)面 request.getRequestDispatcher('/login.jsp').forward(request,response); } } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { }}

ChatServlet.java

package chatting;import javax.servlet.RequestDispatcher;import javax.servlet.ServletContext;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import java.io.IOException;import java.util.Vector;@WebServlet(name = 'ChatServlet',urlPatterns = '/input.do')public class ChatServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //防止亂碼 request.setCharacterEncoding('utf-8'); response.setContentType('text/html;charset=utf-8'); HttpSession session = request.getSession(); String text = request.getParameter('text'); //text存儲(chǔ)聊天信息,并進(jìn)行合法性判斷 if (text.length()!=0) { String say =new String(); //獲取session中的昵稱 String nickname = (String)session.getAttribute('nickname'); //將昵稱作為鏈接,并傳參 say = '<a href=’NickServlet?nickname='+nickname+'’target=’_parent’>'+nickname+'</a>'+':'+text; String says = new String(); //將昵稱和聊天信息一起放在上下文變量 ServletContext context = getServletContext(); if(context.getAttribute('says')!=null){ says = context.getAttribute('says') + say + '<br>'; } else{ says = say + '<br>'; } context.setAttribute('says', says); request.setAttribute('says', says); } //轉(zhuǎn)發(fā) RequestDispatcher dispatcher = request.getRequestDispatcher('/input.jsp'); dispatcher.forward(request, response); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { }}

NickServlet.java

package chatting;import javax.servlet.RequestDispatcher;import javax.servlet.ServletContext;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import java.io.IOException;import java.io.PrintWriter;@WebServlet(name = 'NickServlet',urlPatterns = '/NickServlet')public class NickServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType('text/html;charset=UTF-8'); request.setCharacterEncoding('utf-8'); //將拍一拍放到上下文變量says中 一起輸出 HttpSession session = request.getSession(); //nickname存儲(chǔ)當(dāng)前用戶昵稱 String nickname = (String)session.getAttribute('nickname'); //name存儲(chǔ)連接中傳遞的參數(shù),即被拍的用戶昵稱 String name = java.net.URLDecoder.decode(request.getParameter('nickname'),'UTF-8'); String pick = nickname+'拍了拍'+name+'<br>'; ServletContext context = request.getServletContext(); String says = context.getAttribute('says')+pick; context.setAttribute('says',says); RequestDispatcher dispatcher = request.getRequestDispatcher('/chatroom.jsp'); dispatcher.forward(request, response); }}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Java
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩三级一区| 亚洲色图网站| 国产精品嫩草影院在线看| 亚洲欧洲一区| 在线综合欧美| 亚洲欧美日本视频在线观看| 婷婷色综合网| 久久国产88| 亚洲精品高潮| 青青国产精品| 欧美黑人巨大videos精品| 精品国产日韩欧美精品国产欧美日韩一区二区三区 | 免费观看不卡av| 欧美日韩视频| 国产精品嫩草99av在线| 亚洲精品韩国| 国产精品久久久久久久久久白浆 | 黄色网一区二区| 久久夜夜操妹子| 国产视频亚洲| 久久亚洲人体| 国产一区二区精品福利地址| 午夜在线精品偷拍| 精品久久久久久久| 亚洲一区欧美二区| 国产日韩精品视频一区二区三区| 亚洲www啪成人一区二区| 日韩高清不卡在线| 日本欧美不卡| 国产美女亚洲精品7777| 日韩av福利| 国产亚洲欧美日韩精品一区二区三区 | 精品高清久久| 黄色欧美在线| 亚洲自拍另类| 国产精品主播| 国产精品蜜芽在线观看| 欧美日韩激情在线一区二区三区| 免费久久99精品国产| 国产精品一区二区精品视频观看| 国产在线观看www| 国产精品腿扒开做爽爽爽挤奶网站| 日韩一区二区三区精品| 国产91欧美| 亚洲欧美日韩视频二区| 欧美精品99| 婷婷六月综合| 欧美国产先锋| 伊人精品视频| 国产精品白丝av嫩草影院| 亚洲天堂黄色| 日本a级不卡| 日韩免费久久| 日韩精品成人| 色一区二区三区四区| 久久成人精品| 久久久久久夜| 日韩精品一页| 欧美一区二区三区激情视频| 日韩成人av影视| 99久久精品网| 国产精品一区二区三区四区在线观看 | 精品一区在线| 国产欧美二区| 美女尤物久久精品| 美女av一区| 蜜臀av一区二区在线免费观看 | 日韩久久电影| 91嫩草精品| 亚洲女同中文字幕| 精品一区二区三区中文字幕视频 | 亚欧成人精品| 欧美日韩在线观看视频小说| 国产精品亚洲四区在线观看| 在线视频精品| 日韩激情一区| 国产精品久久久久久久久免费高清| 99国产精品| 国产盗摄——sm在线视频| 日韩手机在线| 午夜电影亚洲| 日韩精品诱惑一区?区三区| 久久激情综合网| 午夜宅男久久久| 日韩欧美1区| 麻豆91小视频| 亚洲欧美日本国产| 欧美日韩国产免费观看 | 亚洲欧美日韩国产一区| 女生影院久久| 精品一区二区三区在线观看视频| 亚州av一区| 三级在线观看一区二区| 欧美亚洲激情| 蜜桃视频在线网站| 久久香蕉精品香蕉| 日本中文字幕一区二区视频 | 国产精品人人爽人人做我的可爱| 日韩大片免费观看| 免费在线观看一区| 88久久精品| 蜜臀精品一区二区三区在线观看 | 亚洲成人av观看| 激情综合婷婷| 风间由美中文字幕在线看视频国产欧美| 91亚洲无吗| 日韩不卡一区二区| 日韩久久一区| 奇米狠狠一区二区三区| 日韩在线观看中文字幕| 综合一区av| 欧美一级专区| 日韩视频一区| 欧美午夜不卡| 欧美性感美女一区二区 | 亚洲一区激情| 久久国产精品久久久久久电车| 好吊一区二区三区| 黄色在线一区| 国产一区成人| 亚洲一区二区网站| 亚洲一区欧美激情| 丝瓜av网站精品一区二区 | 国产传媒在线观看| 中文字幕成在线观看| 久久麻豆视频| 欧美国产美女| 捆绑调教日本一区二区三区| 国产精品蜜芽在线观看| 午夜欧美巨大性欧美巨大| 电影亚洲精品噜噜在线观看| 日韩精品一卡| 香蕉国产精品| 午夜一区在线| 日韩中文字幕一区二区高清99| 日本成人手机在线| 国产精品一区免费在线| 国产极品模特精品一二| 国产精品香蕉| 国产一区二区视频在线看| 日韩欧美午夜| 99视频一区| 日本精品一区二区三区在线观看视频| 日韩精品电影一区亚洲| 美女性感视频久久| 国产夫妻在线| 九一国产精品| 在线国产日韩| 国产精品啊v在线| 亚洲最新无码中文字幕久久| 99精品视频在线| 免费人成精品欧美精品| 日韩激情av在线| 美腿丝袜亚洲三区| 日韩欧美综合| 亚洲欧美日本视频在线观看| 97成人在线| 日韩电影免费网址| 亚洲免费在线| 国产精品videossex| se01亚洲视频 | av不卡在线看| 久久国产生活片100| 国产精品2区| 日韩一区二区三区在线免费观看| 狠狠久久婷婷| 国产精品中文| 91精品久久久久久久久久不卡| 免费观看在线综合| 国产精品一区二区三区www| 亚洲日本网址| 中文字幕亚洲在线观看| 麻豆91精品视频| 亚洲精品a级片| 久久成人高清| 99在线精品免费视频九九视| 国产精品密蕾丝视频下载| 久久精品卡一| 日韩精彩视频在线观看| 快播电影网址老女人久久| 亚洲欧洲av| 天堂а√在线最新版中文在线| 日韩午夜在线| 欧美国产日韩电影| 亚洲女同中文字幕| 国产激情欧美| 夜夜嗨一区二区三区| 久久99国产精品视频| 亚洲激情国产| 国产精品久久久久久妇女| 天堂网在线观看国产精品| 国产精品久久久久av蜜臀| 国内激情久久| 久久精品xxxxx| 欧美精品羞羞答答| 美女精品久久| 在线一区二区三区视频| 日韩欧美三级| 国产精品蜜月aⅴ在线| 视频一区中文字幕|