日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

jsp简单多人在线聊天系统(非常容易理解的公聊、私聊)

發布時間:2023/12/10 windows 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jsp简单多人在线聊天系统(非常容易理解的公聊、私聊) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

????????對于jsp簡單在線聊天系統,簡單的利用Session、Request、Application等知識點。
????????基于jsp簡單多人在線聊天系統源碼,分為公聊、私聊以及網站客服,網站多用戶,十分容易理解!!!

????????不加以多說,直接源碼展示。
????????原源碼在大佬用戶Summer__show_,目前該大佬用戶已經刪除文章,我在其源碼基礎上進行一個改編,并且進行一些優化。如有侵權請告知。
????????就比如我現在的網址為https://blog.csdn.net/white_mvlog/online.jsp?username=white_mvlog

<%@ page contentType="text/html;charset=UTF-8" language="java"pageEncoding="UTF-8"%><%@ page import="java.util.*"%><%//每隔15秒進行一次頁面刷新,刷新聊天記錄response.setHeader("refresh", "15");//設置獲取的值格式為utf-8request.setCharacterEncoding("UTF-8");//獲取網址的username的屬性值String username = request.getParameter("username");//從applicaton作用域中取出用戶列表 List<Object> users = (List<Object>) application.getAttribute("users");//如果該用戶列表還不存在,實例化該用戶列表 if (users == null) {users = new ArrayList<Object>();}//查看當前列表中是否包含當前的登陸用戶 if (users.contains(username)) {//設置提示信息 request.setAttribute("msg", "該用戶已經登陸,請重新登陸");System.out.println(users.size());if (users.size() != 0) {for (int i = 0; i < users.size(); i++) {if (username.equals(users.get(i))) {users.remove(i);i--;}}}}//將當前登陸用戶名加入該用戶列表 users.add(username);application.setAttribute("users", users);session.setAttribute("user", username);System.out.println("xian");List<Object> msgs = (List<Object>) application.getAttribute("msgs");List<Object> to_sb = (List<Object>) application.getAttribute("private");List<Object> from_sb = (List<Object>) application.getAttribute("S_private");String user1 = (String) session.getAttribute("user");if (msgs == null) {msgs = new ArrayList<Object>();}if (to_sb == null) {to_sb = new ArrayList<Object>();}if (from_sb == null) {from_sb = new ArrayList<Object>();}%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><title>客服</title></head><body><div class="divhead1"><div class="headee"><h3>在線客服</h3></div><div class="content"><div class="list"><div class="bodyhead">在線人數<%=users.size() %>人</div><ul><%for (int i = 0; i < users.size(); i++) {String username2 = (String) users.get(i);%><li><%=username2 %></li><%}%></ul></div><div class="dad"><div class="bodyhead"></div><div class="msg"><%for (int i = 0; i < msgs.size(); i++) {//查看誰發給誰了什么信息System.out.println(msgs.get(i) + "and " + to_sb.get(i)+ " from " + from_sb.get(i));}try {for (int i = 0; i < msgs.size(); i++) {String t1 = (String) msgs.get(i);String t2 = (String) to_sb.get(i);String t3 = (String) from_sb.get(i);if (t2.equals(username) || t2.equals("所有人")) {//發送給我或者發送給所有人的%><p><span class="ith"><%=t3 %></span><span class="it"><%=t1 %></span></p><br /><%//如果對方回復已解決,則刪除他的登錄記錄,結束聊天if(t1.equals("已解決")){users.remove(t3);}} else if(t3.equals(username)){//我發送的%><p><span class="meh"><%=t3 %></span><span class="me"><%=t1 %></span></p><br /><%}else{System.out.println(t2 + "跟他不同" + "username" + "或者跟他"+ user1);}}} catch (Exception e) {}%></div><div class="send"><formclass="if"action="online.jsp?username=<%=username%>"method="post"><%System.out.println(session.getAttribute("user"));//在這里可以區分客服與用戶,客服擁有select選項值的0也就是發送信息給所有人的功能if(username.equest("white")){%><select name="select" class="ss"><option value="0">所有人</option><%for (int i = 0; i < users.size(); i++) {username = (String) users.get(i);%><option value="<%=i + 1%>"><%=username%></option><%}}else{//反之,用戶擁有select選項值的666也就是發送信息給客服的功能%><select name="select" class="ss"><!--要選擇客服的話select選項值為666--><option value="666">客服</option><%}%></select><textarea id="dope"style="width: 99%; height: 75px; border: none; outline: none;"name="message" rows cols></textarea><input type="submit" value="發送" class="sendBtn" /></div></form><%String user = (String) session.getAttribute("user");request.setCharacterEncoding("UTF-8");String message = request.getParameter("message");String to = "";try {//被發送消息方List<Object> tmp = (List<Object>) application.getAttribute("users");String SS = request.getParameter("select");int a = Integer.parseInt(SS);//發送給所有人則在select選擇項值為0if (a == 0)to = "所有人";//發送給所有人則在select選擇項值為666else if(a==666)to = "white";elseto = (String) tmp.get(a - 1);} catch (Exception e) {}System.out.println("正在嘗試");for (int i = 0; i < msgs.size(); i++) {System.out.println(msgs.get(i) + "c");}if (message != null && !message.equals("")) {//msgs.add(user + "發消息給" + to + " : " + message + "<br/>");msgs.add( message);to_sb.add(to);from_sb.add(user);System.out.println("嘗試");application.setAttribute("msgs", msgs);application.setAttribute("private", to_sb);application.setAttribute("S_private", from_sb);response.sendRedirect("online.jsp?username=" + username);}%></div></div></div></body></html>

????????在源碼中有進行詳細的注釋說明,不懂的可以在評論留言喲。

復制到自己的小項目即可使用喲。

總結

以上是生活随笔為你收集整理的jsp简单多人在线聊天系统(非常容易理解的公聊、私聊)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。