java session id 生成_Java通过sessionId获取Session「建议收藏」

java session id 生成_Java通过sessionId获取Session「建议收藏」Servlet2.1之后不支持SessionContext里面getSession(Stringid)方法。但是,我们可以通过HttpSessionListener监听器和全局静态map自己实现一个SessionContext。MySessionContext.java:publicclassMySessionContext{privatestaticHashMapmymap=n…

大家好,又见面了,我是你们的朋友全栈君。

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);

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/160358.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • wpa2 wep_wep wpa wpa2的区别

    wpa2 wep_wep wpa wpa2的区别今天来探究一下WiFi的几种加密方式。从最简单的WEP开始。WEP(WiredEquivalentPrivacy,有线等效保密)WEP加密是最早在无线加密中使用的技术,新的升级程序在设置上和以前有点不同,功能当然比之前丰富一些,下面让我们来看看如何使用WEP。当在无线“基本设置”里面“安全认证类型”选择“自动选择”、“开放系统”、“共享密钥”这三项的时候,使用的就是WEP加密技术,“自动…

    2022年10月26日
  • SqlServer数据库备份与还原

    SqlServer数据库备份与还原最近需要给程序新增功能,用于将旧格式的数据转换为新格式,同时删除旧格式的数据(新旧格式的数据库表有部分重叠,同一份数据无法同时存在新旧格式的数据),由于测试环境中的测试数据不多,功能调试几次之后就没有旧格式的数据做测试了,因此想到在功能调试前先将测试数据库备份,然后功能调试之后再将测试数据库还原,这样就可以重复的进行功能调试。  数据库备份过程比较顺利,但是还原过程中出现错误,无论是还原数据库还是还原数据库文件都报错

  • Java AbstractMethodError 原因分析

    Java AbstractMethodError 原因分析背景AbstractMethodError异常对于我来说还是比较不常遇见的,最近有幸遇到,并侥幸的解决了,在这里把此种场景剖析一番,进入正题,下面是AbstractMethodError在Java的异常机制中所处的位置:现在明确了AbstractMethodError所具有的特性:1.它是Error的子类,Error类及其子类都是被划分在非检查异常之列的,就是说这些异常不能在编译阶…

  • 探秘X86架构CPU流水线[通俗易懂]

    探秘X86架构CPU流水线[通俗易懂]http://ee.ofweek.com/2013-07/ART-11001-2805-28704745.html导读:CPU是如何工作的呢?一条指令执行需要多长时间?当我们讨论某个新款处理器拥有12级流水线还是18级流水线,甚至是更深的31级流水线时,这到些都意味着什么呢?作为程序员,CPU在我们的工作中扮演了核心角色,因此了解处理器内部的工作方式对程序员来说不无裨益。  CPU…

  • lc5找回windows账户信息

    lc5找回windows账户信息  示例:利用lc5获取winserver2003的账户信息。  1. 安装lc5。百度搜索lc5下载安装包,并将lc5安装到winserver2003虚拟机上。  2. 可以用一下命令创建几个待测试的账号    命令行:netusernamepassword/add创建用户           netusername…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号