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

您的位置:首頁技術文章
文章詳情頁

java web實現簡單聊天室

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

目標

servlet、jsp實現簡單聊天室,用戶通過瀏覽器登錄后進入聊天室,可發送消息進行群聊,點擊聊天信息框中的用戶名可實現拍一拍功能。

基礎知識

數據的存取 setAttribute / getAttribute request請求對象 :有效時間短

ServletContext上下文對象:一直存在于服務器,存儲公有、 共享數據Session會話對象:獨立

網站默認頁面一般是index.jsp

實現思路

1.登錄頁面 login.jsp 輸入昵稱

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

3.編寫聊天室頁面chatroom.jsp ,是一個框架,把多個頁面集成到一個頁面中

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

4.聊天內容顯示message.jsp,不斷自動刷新標簽內設置響應頭,用${上下文變量}顯示聊天內容

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

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

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

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

7.實現拍一拍功能(目的:學習如何進行鏈接操作)每個人名做成一個鏈接,訪問某一個servlet,該servlet可以在聊天信息(上下文變量)里添加一行,xx拍了yyy一下,跳轉回message.jsp問題:鏈接里應該包含yyy參數,servlet?nick=yyy

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

8.多人聊天實現:多種類型瀏覽器

關鍵代碼

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='發送'><br><br><br><br> <a href='http://www.b3g6.com/bcjs/login.jsp' rel='external nofollow' rel='external nofollow' target='_top'>退出聊天室</a></form>

message.jsp

<h3>一起來聊天吧</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存儲到session變量中 HttpSession session = request.getSession(); session.setAttribute('nickname',nickname); //對nickname進行合法性判斷 if(nickname.length()!=0){ //昵稱合法,則進入聊天室頁面 request.getRequestDispatcher('/chatroom.jsp').forward(request,response); } else{ //昵稱不合法,返回登陸頁面 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存儲聊天信息,并進行合法性判斷 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); } //轉發 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存儲當前用戶昵稱 String nickname = (String)session.getAttribute('nickname'); //name存儲連接中傳遞的參數,即被拍的用戶昵稱 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); }}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲主播在线| 欧美精品中文| 一本色道精品久久一区二区三区| 国产丝袜一区| 国产视频一区在线观看一区免费| 精品国产亚洲一区二区三区大结局| 石原莉奈一区二区三区在线观看| 日韩在线观看一区| 亚洲tv在线| 亚洲www啪成人一区二区| 国产精品夜夜夜| 亚洲久久一区| 国产精品一区二区精品| 国产精品第十页| www在线观看黄色| 国产在线日韩| 亚洲综合专区| 久久久久久色 | 欧美日韩在线二区| 美女黄网久久| 精品一区二区三区免费看| 久久婷婷av| 亚洲字幕久久| 四虎8848精品成人免费网站| 午夜日韩在线| 欧美激情三区| 亚洲免费观看| 免费日韩成人| 国产精品日本| 成人在线免费观看网站| 免费久久精品| 国产精品日本一区二区不卡视频| 在线日韩中文| 97视频热人人精品免费| 99国内精品| 国产乱码精品一区二区三区四区| 精品国产日韩欧美精品国产欧美日韩一区二区三区 | 亚洲精品极品少妇16p| 亚洲丝袜美腿一区| 精品国产aⅴ| 午夜宅男久久久| 久久国内精品视频| 国产精品婷婷| 播放一区二区| 国产精品久久久久久久久久白浆 | 久久国产乱子精品免费女| 欧美日韩一二三四| 麻豆一区二区三区| 国产精品一区二区av日韩在线| 久久xxxx精品视频| 九九综合九九| 精品中文字幕一区二区三区av| 黄色在线观看www| 成人在线免费观看91| 狠狠久久伊人中文字幕| 日本视频中文字幕一区二区三区| 中文精品在线| 亚洲一级在线| 日韩一区精品视频| 亚洲综合欧美| 日韩一区亚洲二区| 国产精品videossex| 久久99蜜桃| 欧美激情日韩| 国产精品xx| 欧美sss在线视频| 精品日本视频| 日韩精品成人| 欧美亚洲tv| 日本欧美在线| 巨乳诱惑日韩免费av| 不卡一区综合视频| 激情六月综合| 99久久99视频只有精品| 激情婷婷欧美| 日韩视频二区| 日韩欧美2区| 日韩1区2区| 亚洲网站视频| 免费视频最近日韩| 视频一区二区三区中文字幕| 99视频精品免费观看| 免费在线看一区| 亚洲乱码一区| 国产极品模特精品一二| 国内不卡的一区二区三区中文字幕| 久久久久97| 国产在线不卡| 日韩av午夜在线观看| 精品亚洲精品| 国产精品久久久久蜜臀| av最新在线| 久久久久久黄| 婷婷五月色综合香五月| 国产精品美女午夜爽爽| 国产不卡一区| www在线观看黄色| 9色国产精品| 久久久久久亚洲精品美女| 久久婷婷久久| 91久久中文| 少妇精品久久久一区二区三区| 综合干狼人综合首页| 国产96在线亚洲| 国产欧美在线| 蜜臀va亚洲va欧美va天堂| 久久精品国产精品亚洲毛片| 伊人国产精品| 国产精品99免费看| 久久男人天堂| 国产精品v日韩精品v欧美精品网站 | 亚洲一区亚洲| 四季av一区二区凹凸精品| 欧美日韩视频免费看| 首页国产欧美久久| 久久国产精品成人免费观看的软件| 国产欧美视频在线| 视频精品一区二区| 欧美va天堂在线| 国产欧美日韩视频在线 | 黄色精品网站| 性欧美69xoxoxoxo| 91久久久精品国产| 激情综合在线| 激情婷婷久久| 99精品视频在线| 韩国精品主播一区二区在线观看 | 免费在线观看一区二区三区| 久久久久中文| 日本а中文在线天堂| 国产精选在线| 成人日韩在线观看| 免费久久久久久久久| 欧美日韩高清| 国产精品丝袜xxxxxxx| 鲁大师成人一区二区三区| 亚洲人妖在线| 国产亚洲精aa在线看| 免费一级欧美片在线观看网站 | 性一交一乱一区二区洋洋av| 亚洲在线电影| 国产图片一区| 久久久久国产| 午夜天堂精品久久久久| 国产精品久久国产愉拍| 91精品久久久久久久久久不卡| 国产免费成人| 久久三级毛片| 国产欧美亚洲一区| 蜜臀91精品一区二区三区| 蜜臀久久精品| 国产精品久久久久久av公交车 | 日韩av中文字幕一区二区| 久久精品影视| 精品国产精品国产偷麻豆| 欧美日一区二区三区在线观看国产免| 日韩高清成人在线| 国产精品观看| 欧美精选一区二区三区| 久久中文字幕一区二区| 丁香婷婷久久| 亚洲区欧美区| 国产精品亚洲综合在线观看| 一区二区电影在线观看| 国产视频一区三区| 久久久久久黄| 欧美日韩国产一区二区在线观看| av一区二区高清| 久久午夜影院| 一区二区日韩免费看| 日韩精品免费一区二区夜夜嗨 | www.com.cn成人| 天堂va在线高清一区| 亚洲午夜精品久久久久久app| 日韩手机在线| 久久香蕉国产| 18国产精品| 精品国产一区二区三区av片| 欧美日韩尤物久久| 欧美日本久久| 日韩欧美国产精品综合嫩v| 日韩国产一区二| 午夜久久黄色| 国产精品18| 精品一区二区三区中文字幕| 1024精品一区二区三区| 久久狠狠久久| 亚久久调教视频| 欧美日韩中出| 亚洲一区免费| 国产一精品一av一免费爽爽| 久久99偷拍| 免费不卡在线观看| 日本色综合中文字幕| 美女av一区| 欧美日韩国产高清| 欧美日韩1区2区3区| 亚洲综合三区| 亚洲久久在线| 国产欧美日韩综合一区在线播放|