java怎么实现踢掉在线用户_Java多人在线聊天室(3)— 踢人下线功能

article/2025/9/17 23:45:12

作为一个聊天室,肯定会有很多人在里面聊天,那么要是有人里面捣乱怎么办?直接踢人不解释。

我们在创建数据库的时候就有这样的考虑,所以我们的账户有两种,一种是管理员,一种是普通用户。

10e19d464d1d1a42ce3ab519812cd8e4.png

打开的数据库!我们可以看见存在两种角色。那么管理员就可以把普通用户踢下线。

首先就是在前端页面添加一个踢人下线的按键

e908fede57297332bba1bc2a7492def8.png

效果:

735720e2b828330b05f15f7038a763d4.png

重写一下 userbean 的 equals() 和 hashCode() 方法,这两个方法可以帮助我们确定帐户。

93ff538729a52fcdce9a017e53d83774.png

现来来写踢人的 servlet 吧!

想要把人踢下线总共分几步?

1.拿到想踢的人的id

2.拿到所有在线的人的列表

3.通过 id 找到这个人的在 Map 中对应的 session

4.销毁他的 session

5.刷新一下页面

ffc7cd6a082eef263d258a50f3d7db76.png

在我们的前端页面来写一下代码

1b1439f8b6b768b1e471a81d1b25bd7f.png

框住的这段内容表示,只有当用户的身份是管理员(admin)并且列表中的这个的身份不是管理员(admin)的时候,才会显示一个"踢"的按键,我们来看一下效果!

9ce908fd77441c888557a68e7837b35d.png

后面的页面登录的是 aaa(admin ) 前面的页面登录的是bbb(user),只有我们的管理员才可以看见这个踢字呦!

那么现在点击“踢”就可以销毁用户的 session,现在写一个 servlet 检查用户的  session,如果用户的 session 不存在,就让他重新登录。

1a78ac193616a7804ffd8f24623d44b1.png

在后台进行判断,如果 session 不存在就返回 1,session 存在就返回 2。写一下 jsp 的页面代码,每1秒钟向后台发送一个 post 请求,然后获取后台 servlet 返回的数据。

d819ef01b8f3dccc1df1177b99f9cb59.png

后台返回1,就代表 session 被销毁了,我们就提示用户“账号已下线”并且把页面转到登录页面。效果验证:

aea808e6f4b53f37973298585273acbc.gif

踢人下线功能就实现了,账户被踢下线之后,就会返回我们的登录页面了。

在我的聊天室里!

我还踢不了你了!

05f3e1e0323d4a66a3bc7f16f5a1147c.png

那么今天就到这里了

再见了

450d99438c28c6a62f953484e1c8c51f.png


http://chatgpt.dhexx.cn/article/PrwRLrXq.shtml

相关文章

Shiro实现session限制登录数量踢人下线

Shiro实现session限制登录数量踢人下线 前言实现■ 架构准备ShiroConfig ■ redis内的存储分布■ 代码修改修改 JedisSessionDAO修改 SystemAuthorizingRealm新增 ApiLogoutFilter再次修改 JedisSessionDAO 最后 前言 近年无状态登录兴起,但sessionId方式仍是主流方…

SAP SM04踢人操作(摘录)

管理员在SAP系统中,使用事物码SM04对当前登录在线用户(User)进行管理,可查看服务器全部客户端(Client)的用户的在线状态,并可以结束指定用户的会话状态,也就是强制踢出用户。 双击查…

出生率新低!1978-2020中国人口出生率、死亡率及自然增长率变迁

根据国家统计局近日发布的《中国统计年鉴2021》,2020中国人口出生率为8.52‰,再创历史新低。同时,2020中国人口自然增长率仅为1.45‰,勉强维持正增长,同样是历史新低。 下面的视频记录了1978-2020中国人口出生率、死亡…

百度迁徙大数据整理[2020+2019同期]

统筹推进疫情防控和经济社会发展工作是常态化疫情防控阶段促进中国经济恢复的必然选择。基于百度地图迁徙大数据,采用双重差分模型探究不同阶段的疫情防控措施对中国人口流动的影响。结果表明,早期的疫情超常规防控措施有效控制了人口流动,导…

【SQLPlanet】基于迁徙率等指标浅析拍拍贷逾期数据(未完待续)

1、背景介绍 拍拍贷是一家金融科技公司,2007年成立于上海,并在2017年11月10日成功于美国纽交所上市。根据官方消息,截至2018年9月30日,拍拍贷累计成交额已突破1300亿,15-29天及30-59天的逾期率分别为0.83%和1.21%&…

百度迁徙 迁入人口和迁徙规模爬虫

最近做COVID-19相关的课程项目,需要用到省级间人口迁移的数据。笔者参考改进了https://blog.csdn.net/qq_44315987/article/details/104118498 的城市间流动的代码,从百度迁徙爬取了数据,并将数据保存在同一张表内。 迁入人口 # coding:utf…

百度大数据迁徙

我记得,百度地图应该是2018年开始做每年春运出行大数据迁移,2019年加入了国庆的迁移大数据分析。这是纯免费的大数据分析数据,相当有意思,但是不作保存,每年做个记录,应该是件有价值的事。 从整体来看&…

什么是计算迁移

0 1 计算迁移背景 边缘计算将网络边缘上的计算、存储等资源进行有机融合,构建成统一的用户服务平台,按就近服务原则对网络边缘节点任务请求及时响应并有效处理。由于边缘节点能力、资源、带宽、能源等受限,计算迁移便异常重要。计算迁移是边缘…

迁徙数据平台简单介绍

引言 人口迁徙数据是研究人口流动、人口迁徙以及城市发展的重要数据源。近年来,受新冠肺炎疫情影响,以及互联网的快速发展,相关数据受到广泛关注与应用,以人口迁徙数据为基础的科学研究也层出不穷。在这里,就对几种常…

人口迁徙大数据(2019-2020年)

人口迁徙大数据具有极高的研究价值,特别是与城市群、疫情等重要话题结合起来,发表了很多核心期刊: 迁徙数据(1) 高德地图人口迁徙数据:2020年前6个月的400多万条数据,数据为日数据,…

【迁移学习】分布差异的度量以及迁移学习的统一表征方法

在文本分类中,由于文本数据有其领域特殊性,因此,在一个领域上训练的分类器,不能直接拿来作用到另一个领域上,这就需要用到迁移学习。 迁移学习是机器学习中重要的研究领域,ICML、NIPS、AAAI、ICIR等国际人工…

手把手实操系列|贷后迁徙率模型开发(上篇)

序言: 很多关注番茄风控的老铁们都知道,番茄风控的开篇就是从系统性的贷后评分卡开始的,关于贷后相关的内容,番茄不敢说是元老级别的公众号,但再怎么说也是先行者,之前的文章比如这些经典内容,您…

手把手系列|贷后评分(C)卡模型开发实操(全)

序言: 随着风控精细化的管理,番茄风控也就将现有的内容进一步迭代,更新贷后迁徙率模型的内容,同时也综合了星球社区中同学的一些新需求,给大家梳理了贷后迁徙率模型的文章。 希望对所有的风控人员在贷后相关的模型开发…

催收评分卡(三)迁徙率模型

关注公众号“ 番茄风控大数据”,获取更多数据分析与风控大数据的实用干货。 本文主要介绍迁徙率模型和还款率模型,至于失联模型,其实也不难做,难点是在于每家公司对失联客户的定义,主要是需要把多长失时间内失联的客户…

风险资产常用指标

目录 1.放款本金与本金余额 2.迁徙率 3.Vintage 4.不良率 5.损失率 6.回收率 7.入催率 8.首逾率 1.放款本金与本金余额 放款本金为每个月的放贷金额,本金余额为截止统计时点,所有未收回的本金金额,包括逾期未还本金与未到还款期限的待还本金…

前端数据分页——table表数据分页方法(1)

我们在页面展示一个table表格的时候,当数据量较大时,常常会考虑到数据分页的问题,数据分页一般有三种方式,分别是前端数据分页,后端数据分页,数据库分页。 前端数据分页:是把所有数据加载到前端…

利用vue实现树表格分页

目录 1. 准备工作 2. 动态树 2.1 在配置请求路径 2.2 使用动态数据构建导航菜单 2.2.1 通过接口获取数据 2.2.3 通过后台获取的数据构建菜单导航 2.3 点击菜单实现路由跳转 2.3.1 创建书本管理组件 2.3.2 配置路由 2.3.3 修改LeftAside组件 2.3.4 修改Main组件 3. …

Layui 表格分页控件

分页模块 – layui.laypage layPage 致力于提供极致的分页逻辑,既可轻松胜任异步分页,也可作为页面刷新式分页。 快速使用 laypage 的使用非常简单,指向一个用于存放分页的容器,通过服务端得到一些初始值,即可完成分页渲染: 基础参数选项 通过核心方法:laypage.rende…

ant design pro表格分页

需要用到表格的配置项pagination pagination{{ showQuickJumper:true, showTotal:function(total, range){ return( 共total条 ) } }} 效果: 这样可以选择跳转到某个页面,如果如数的数值大于最后一页,那么将跳转到最后一页&#xf…

Thinkphp+layui数据表格实现表格分页

项目场景:Thinkphplayui数据表格实现表格分页 提示:thinkphplayui数据表格分页,需要服务器端配合。之前在百度上一通乱搜也没找到解决方案。 问题描述 提示:这里描述项目中遇到的问题: 之前一看layui的文档一只以…