java怎么实现踢掉在线用户_Java多人在线聊天室(3)— 踢人下线功能
作为一个聊天室,肯定会有很多人在里面聊天,那么要是有人里面捣乱怎么办?直接踢人不解释。
我们在创建数据库的时候就有这样的考虑,所以我们的账户有两种,一种是管理员,一种是普通用户。
打开的数据库!我们可以看见存在两种角色。那么管理员就可以把普通用户踢下线。
首先就是在前端页面添加一个踢人下线的按键
效果:
重写一下 userbean 的 equals() 和 hashCode() 方法,这两个方法可以帮助我们确定帐户。
现来来写踢人的 servlet 吧!
想要把人踢下线总共分几步?
1.拿到想踢的人的id
2.拿到所有在线的人的列表
3.通过 id 找到这个人的在 Map 中对应的 session
4.销毁他的 session
5.刷新一下页面
在我们的前端页面来写一下代码
框住的这段内容表示,只有当用户的身份是管理员(admin)并且列表中的这个的身份不是管理员(admin)的时候,才会显示一个"踢"的按键,我们来看一下效果!
后面的页面登录的是 aaa(admin ) 前面的页面登录的是bbb(user),只有我们的管理员才可以看见这个踢字呦!
那么现在点击“踢”就可以销毁用户的 session,现在写一个 servlet 检查用户的 session,如果用户的 session 不存在,就让他重新登录。
在后台进行判断,如果 session 不存在就返回 1,session 存在就返回 2。写一下 jsp 的页面代码,每1秒钟向后台发送一个 post 请求,然后获取后台 servlet 返回的数据。
后台返回1,就代表 session 被销毁了,我们就提示用户“账号已下线”并且把页面转到登录页面。效果验证:
踢人下线功能就实现了,账户被踢下线之后,就会返回我们的登录页面了。
在我的聊天室里!
我还踢不了你了!
那么今天就到这里了
再见了
java怎么实现踢掉在线用户_Java多人在线聊天室(3)— 踢人下线功能相关推荐
- Linux强制踢掉某个用户
Linux强制踢掉某个用户 1.查看用户 2.查看当前用户 3.强退指定用户 1.查看用户 或者 2.查看当前用户 3.强退指定用户 再次查看:
- mysql踢掉登录用户_centos 强制踢掉某登录用户的方法
linux是一个多用户操作系统,用户可以在不同的地方链接上LINUX服务器,在系统中我们可以用w或者who来查看用户 [root@7273 ~]# who root pts/0 2018-05-5 2 ...
- java jsp聊天系统_java web实现简单聊天室
目标 servlet.jsp实现简单聊天室,用户通过浏览器登录后进入聊天室,可发送消息进行群聊,点击聊天信息框中的用户名可实现拍一拍功能. 基础知识 数据的存取 setAttribute / getA ...
- java web聊天室原理_java web实现简单聊天室
目标 servlet.jsp实现简单聊天室,用户通过浏览器登录后进入聊天室,可发送消息进行群聊,点击聊天信息框中的用户名可实现拍一拍功能. 基础知识 数据的存取 setAttribute / getA ...
- java socket编程聊天室_Java Socket通信之聊天室功能
Java Socket通信之聊天室功能 发布时间:2020-10-17 14:36:00 来源:脚本之家 阅读:73 作者:LY_624 本文实例为大家分享了Java Socket聊天室功能的具体代码 ...
- java socket 聊天室_java利用Socket实现聊天室功能实例
导读热词 最近研究了下Java socket通信基础,利用代码实现了一个简单的多人聊天室功能,现把代码共享下,希望能帮到有兴趣了解的人. 目录结构: ChatClient: package com.p ...
- Java NIO示例:多人网络聊天室
一个多客户端聊天室,支持多客户端聊天,有如下功能: 功能1: 客户端通过Java NIO连接到服务端,支持多客户端的连接 功能2:客户端初次连接时,服务端提示输入昵称,如果昵称已经有人使用,提示重新输 ...
- java聊天室源工程文件_socket实现java聊天室,公告等功能,前后端分离(附源码)...
pom文件 org.springframework.boot spring-boot-starter-websocket application.yml中端口设置 server: port: 1111 ...
- JAVA 基于TCP的多人网络聊天室 实现过程
主要实现功能 多人在线聊天 发送私密消息 新用户加入提示 用户离开提示 功能演示 服务器: package dome;import java.io.DataInputStream; import ja ...
最新文章
- 我国近四成程序员单身 盘点各国IT从业者生存现状
- mysql range用法_MySQL的常用函数
- 【机器学习基础】Python实现行转列?!超简单,赶快get起来
- MPEG中面向沉浸式视觉体验的标准化活动
- 填充一个池需要多少个线程?
- java 方法保存变量_java – 在初始化对象或将其保存为变量并调用该方法时,调用方法的速度更快...
- onClientClick 和 onClient 区别
- nodepad 关闭语法检查
- ApacheCN 人工智能知识树 v1.0
- 获取Oracle隐含參数信息
- AMD IOMMU与Linux (4) -- Domain, Group, Device
- ws2_32.dll下载-ws2_32.dll调用失败如何修复
- 域用户账户、组的管理
- linux中PATH环境变量的作用和使用方法
- 中国云计算产业发展白皮书
- 苹果手机投影_智能投影机和手机无线同屏
- 新手如何快速入门node.js
- JS逆向解密凡科网密码
- 速览|京东云11月产品与功能更新
- 打表+dp思维+博弈
热门文章
- rk3568-rk809电池电量计
- c语言中左移一位 由什么补充,计算机原理与基础 —— C语言中的左移与右移
- MyEclipse创建ssh项目和连接数据库
- Office2016超全安装包+教程+素材包
- android 混淆规则作用,Android代码混淆详解
- Flot转身为其它的SPC控制图
- PHP 单例模式如何实现,PHP 单例模式的实现
- 百度打击低质违规站点,你中招了吗?
- 【STM32G431RBTx】备战蓝桥杯嵌入式→基本模块→TIM→PWM
- Astar - 复赛 4.X博士的彩球游戏