java session id 生成_Java通过sessionId获取Session

2023-11-12

Servlet2.1之后不支持SessionContext里面getSession(String id)方法。

但是,我们可以通过HttpSessionListener监听器和全局静态map自己实现一个SessionContext。

MySessionContext.java:

public class MySessionContext {

private static HashMap mymap = new HashMap();

public static synchronized void AddSession(HttpSession session) {

if (session != null) {

mymap.put(session.getId(), session);

}

}

public static synchronized void DelSession(HttpSession session) {

if (session != null) {

mymap.remove(session.getId());

}

}

public static synchronized HttpSession getSession(String session_id) {

if (session_id == null)

return null;

return (HttpSession) mymap.get(session_id);

}

}

MySessionListener.java:

public class MySessionListener implements HttpSessionListener {

public void sessionCreated(HttpSessionEvent httpSessionEvent) {

MySessionContext.AddSession(httpSessionEvent.getSession());

}

public void sessionDestroyed(HttpSessionEvent httpSessionEvent) {

HttpSession session = httpSessionEvent.getSession();

MySessionContext.DelSession(session);

}

}

web.xml添加一个监听器:

listener.MySessionListener

根据sessionId获取Session对象:

String sessionId = request.getParameter("sessionId");

HttpSession session = MySessionContext.getSession(sessionId);

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java session id 生成_Java通过sessionId获取Session 的相关文章

  • 学习笔记之30个常用的maven命令

    maven 命令的格式为 mvn plugin name goal name 可以接受的参数如下 D 指定参数 如 Dmaven test skip true 跳过单元测试 P 指定 Profile 配置 可以用于区分环境 e 显示mave
  • 用react 写一个lyout页面

    可以使用 React 创建一个布局页面 首先 你需要在你的项目中安装 React 和 ReactDOM 然后你就可以开始创建你的布局页面了 你可以使用 JSX 语法在你的布局页面中创建 HTML 元素 例如 下面的代码创建了一个带有一个标题
  • Linux下libxml库编程(二)

    http leansmall blog 163 com blog static 51617691200811171560790 3 3 重要操作 3 3 1 创建XML文档 创建一个xml文档流程如下 l 用xmlNewDoc函数创建一个文
  • 【2】Midjourney注册

    随着AI技术的问世 2023年可以说是AI爆炸性成长的一年 近期最广为人知的AI服务除了chatgpt外 就是从去年五月就已经问世的AI绘画工具mid journey了 几个AI工具也代表了人工智能的热门阶段 只要输入一段文字 AI就会根据
  • 2021-07-19PHP面试笔试题记录

    1 执行以下代码 输出结果是 正确结果为 echo class b something 2 执行以下代码 输出结果是
  • vue2 cli4 打包chunk文件太多解决办法

    由于项目原因npm run build打包后chunk文件很多下 想减少chunk文件数量 在vue config js文件中添加webpack插件 文件头加var webpack require webpack 这样chunk文件数量就变
  • 华为交换机配置MSTP

    文章目录 1 拓扑图 2 任务描述 3 SW1配置 4 SW2配置 5 SW3配置 6 SW4配置 1 拓扑图 2 任务描述 在交换机SW1 SW2 SW3 SW4上配置MSTP防止二层环路 具体要求如下 VLAN10数据流默认经过SW3转
  • 程序媛菜鸡面经(八 - offer篇)

    投简历 简历是要多投的 但是有时候投多了简历也会有问题 头条 没有面试机会 在看过简历后HR发邮件告知我 从简历上能看出你是一位很优秀的人 但看不出你在前端 技术方面的竞争力 当时投的是旧版简历 于是我回邮问简历有误能否重申 至今未有回音
  • 子网掩码的作用

    IP地址由网络和主机两部分标识组成 IP地址由 网络标识 网络地址 和 主机标识 主机地址 两部分组成 在局域网内相互间通信的网络必须具有相同网络地址 也叫相同的网段 在同一个网段内每个设备的主机地址都不相同 在IPV4中 IP地址由32位
  • Vue中query与params两种传参的区别

    query语法 this router push path 地址 query id 123 这是传递参数 this route query id 这是接受参数 params语法 this router push name 地址 params
  • linux系统哪个好用

    linux系统哪个好用 1 Ubuntu服务器 Ubuntu是众所周知的最佳LinuxServerDistro 它能为您提供出色的用户体验 如果你是Linux世界的新手 选择Ubuntu作为你的服务器发行版将是最好的 使用此服务器 您可以做
  • Mac系统如何在圣诞节让电脑屏幕下雪?

    对于苹果 Mac 电脑上的 终端 应用 可能大家在平时用得不多 所以对它应该都会比较陌生 其实这个终端应用是用于让用户可以直接输入一些系统指令 让它执行相应的操作 比如简单的显示当前目录中的文件 显示日期与时间 删除文件等操作都是可以的 今
  • Android项目Gradle: Download gradle-6.5-bin.zip一直卡住解决方法

    1 首先停止gradle的下载 通过迅雷或浏览器将gradle下载下来 下载地址为 https services gradle org distributions gradle 6 5 bin zip 其他版本的gradle同理 2 打开C
  • 二级MS Office高级应用

    1 在长度为n的有序线性表中进行二分查找 最坏的情况下需要比较的次数是 O log2n 以2为底n对数 解析 当有序线性表为顺序存储时才可以用二分查找 可以证明的是对于长度为n的有序线性表 最坏的情况下 二分查找只需要比较O log2n 次
  • 数据仓库开发之路之一--准备工作

    在数据仓库的开发过程中 需要熟悉大量的概念以及相关工具的使用 还需要了解宏观上的各种开发流程 串联起来完成最终的数据仓库项目的开发 本篇介绍一些准备工作 包括涉及到的工具介绍 以及开发过程的描述 记录学习研究的印记 并和大家讨论研究存在的相
  • conda upgrade --all惹的祸,该怎么解决?

    本想要安装scikit surprise库 由于环境问题 就更新一下 谁知道差点酿成大祸 anaconda不灵了 无论什么语句都报错 jupyter notebook 不能用 navigator也打不开 万念俱灰了 导致我想要重装anaco
  • atx860和java_捷安特XTC800和ATX860有什么区别

    展开全部 区别比较大 简单说 ATX 8xx就是e69da5e887aa62616964757a686964616f31333431353237ATX 6xx的 局部升级 轮组由26寸换为27 5寸 车架外观改进 变速套件等级略微提高 仅此
  • mmclassification 训练自定义数据

    1 mmclassification 安装 如果环境已安装mmclassification 请跳过该步骤 mmclassification框架安装与调试验证请参考博客 mmclassification安装与调试 Coding的叶子的博客 C
  • STM32基于IIC协议的温湿度(AHT20)采集

    STM32基于IIC协议的温湿度 AHT20 采集 文章目录 STM32基于IIC协议的温湿度 AHT20 采集 1 IIC总线协议 1 1 什么是IIC协议 1 2 IIC协议的物理层和协议层 1 2 1 物理层 1 2 2 协议层 1

随机推荐

  • orm模型的查询方法集合

    目录 3 4 1 基本查询 3 4 2过滤查询 3 4 2 2 模糊查询 3 4 2 3 空查询 3 4 2 4 范围查询 3 4 2 5 比较查询 3 4 2 6 日期查询 3 4 3 1 F对象 3 4 3 2 Q对象 values 返
  • Aborted (core dumped) Assertion `Engine.getNbBindings() == 4' failed.

    记录一次特别粗心的错误 错误代码位置 assert的作用是现计算表达式 expression 如果其值为假 即为0 那么它先向stderr打印一条出错信息 然后通过调用 abort 来终止程序运行 需要 inputname 3 output
  • 垂直广告是什么意思_网上常看到带货这个词,那么带货到底是什么意思?又要怎么通过平台带货呢?...

    网上常看到带货这个词 那么带货到底是什么意思 又要怎么通过平台带货呢 直播带货就是通过短视频平台 吸引消费者来购买自己所售卖的产品 可以投放广告或是与达人合作进行带货 短视频 品牌营销优势 新一代广告宠儿 5G时代即将来临 人们越来越习惯且
  • HTML5----FormData实例用法

    ajax 异步上传文件 1 前言 在网页与后台的交互中 用的最多的网络交互方式之一就是ajax ajax 是免刷新页面就能从进行post与get方式的提交表单和获取服务端数据 但是在原先的ajax中 是不能携带文件上传的 但是由于h5里面的
  • Mysql数据库手册

    数据库基本概念 1 数据库 就是数据的仓库 由表 关系 操作对象组成 2 表 由行和列组成 数据都存放在表中 由于mysql是关系数据库 所以表又被称为关系 3 字段 就是属性 4 记录 一行数据就是一条记录 也是一条实体 需要设置主键 5
  • 基于惯性动作捕捉技术进行快速动画制作教程

    长久以来动画制作流程上有着诸多不可回避的问题 尤其在于角色动画的制作周期和动画效果方面 一般来说 每一秒钟的角色动画都需要动画师手动关键帧制作耗费8小时才能完成 也就是说 一个动画师每个月只能制作出22秒动画 动作捕捉技术为动画制作者带来福
  • Elasticsearch-基本命令

    基本命令 创建索引 添加数据 删除数据 简单查询 复杂查询1 复杂查询2 获得所有index 获得所有mapping type 根据某个字段精确查找 api的分组查询 bool查询 创建索引 put http localhost 9200
  • LSTM生成文本(字符级别)

    20200817 引言 在网上看到过一些利用深度学习来生成文本的文章 不管生成宋词也好 生成小说也好 各种各样 都是利用深度学习的模型来生成新的东西 之前的时候 我也一直觉得 他们这种生成方式 应该就是记忆性的东西 他并没有真正的从语义的角
  • jdbc导出mysql数据库_原生JDBC方式导出MySQL数据库

    现在的应用系统越来越多的都是业务系统与数据库系统是分离的 这里就会涉及到数据库备份的问题 如果业务系统与数据库是在同一服务器 可以很简单的用mysql自带的命令 mysqldump databases dbName gt dbNameBak
  • stm32 mqtt 如何判断心跳包发送成功_Dubbo 现有心跳方案总结以及改进建议

    1 前言 设计一个好的心跳机制并不是一件容易的事 就我所熟知的几个 RPC 框架 它们的心跳机制可以说大相径庭 这篇文章我将探讨一下如何设计一个优雅的心跳机制 主要从 Dubbo 的现有方案以及一个改进方案来做分析 2 预备知识 因为后续我
  • linux的inode暴增

    author skate time 2012 04 26 linux的inode暴增 今天刚到公司 接收到一个报警短信 一个数据库的inode使用率达到99 root DBtmp df h Filesystem Size Used Avai
  • 我 JS 写的好好的,为什么要用那么复杂的 TS

    今年前端面试有个很有意思的现象 最经典的 JavaScript 基础类面试题 不在被面试官宠幸 原因很简单 现在市场经济收紧 公司的项目决策中往往切割掉了边角试错成本 而 TypeScript 无疑更适合构建大项目和管理 就像 Java 和
  • 彻底理解embedding

    本文转载自https blog csdn net weixin 42078618 article details 84553940 版权问题请联系博主删除 首先 我们有一个one hot编码的概念 假设 我们中文 一共只有10个字 只是假设
  • 毕业设计记录-Pytorch学习-自己手写数字识别

    今天用之前的模型训练手写数字数据集 训练了50轮 效果如下 然后我就准备用自己手写的数字来检验看看 模型的准确率 自己找的一些数字图片 但是经过测试全部预测成3 很不解 搞了好几个小时 到最后无意间看到他的数据集的时候才知道哪出了问题 这是
  • Linux网络服务部署yum仓库

    目录 1 Yum概述 2 Yum实现过程 3 Yum配置文件 3 1yum主配置文件 etc yum conf 3 2仓库设置文件 etc yum repos d repo 4 yum命令详解 5 源地址 6 搭建仓库的方式 6 1搭建本地
  • MVC,MVP和MVVM架构解析

    文章目录 关于架构 框架和设计模式三者的说明 一 MVC 1 概念 2 结构 3 模式 4 优缺点 5 适用场景 二 MVP 1 概念 2 结构 3 与MVC对比 4 优缺点 5 适用场景 三 MVVM 1 结构 2 解析 3 MVVM架构
  • Java内存区域与内存溢出异常

    Java内存区域与内存溢出异常 如上图所示 首先java源代码文件 java后缀 会被java编译器编译为字节码文件 class后缀 然后再让类加载器加载各个类的字节码文件 加载完毕后 交由JVM执行引擎执行 在整个执行过程中 JVM会用一
  • spdlog日志库说明文档(超详细)

    spdlog日志库说明文档 超详细 spdlog是一个开源 快速 只有头文件的C 11日志库 code地址在https github com gabime spdlog 基础示例在https github com gabime spdlog
  • 技术点集(面试)

    怎么使用 ConcurrentHashMap 才能是线程安全的 package util import java util Map import java util concurrent ConcurrentHashMap public c
  • java session id 生成_Java通过sessionId获取Session

    Servlet2 1之后不支持SessionContext里面getSession String id 方法 但是 我们可以通过HttpSessionListener监听器和全局静态map自己实现一个SessionContext MySes