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

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

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

(0)
上一篇 2022年7月16日 上午7:00
下一篇 2022年7月16日 上午7:16


相关推荐

  • 完整教程:GPT-5.2在ARC-AGI-2上的能力跃升分析

    完整教程:GPT-5.2在ARC-AGI-2上的能力跃升分析

    2026年3月16日
    2
  • 架构师之路(39)—IoC框架

    架构师之路(39)—IoC框架

    2021年12月6日
    39
  • 在Java项目中使用traceId跟踪请求全流程日志

    在Java项目中使用traceId跟踪请求全流程日志最近在项目开发中遇到了一些问题 项目为多机部署 使用 kibana 收集日志 但并发大时使用日志定位比较麻烦 大量日志输出导致很难筛出指定请求的全部相关日志 以及下游服务调用对应的日志 因此计划对项目日志打印进行一些小改造 使用一个 traceId 跟踪请求的全部路径 前提是不修改原有的打印方式 简单的解决思路想要跟踪请求 第一个想到的就是当请求来时生成一个 traceId 放在 ThreadLoc

    2026年3月20日
    2
  • kotlin数组和集合

    kotlin数组和集合一 Kotlin 数组 1 对象数组由 Kotlin 的 main 函数的写法 可以看出 Kotlin 中的对象数组写法与泛型的写法很像 funmain args Array lt String gt 声明对象数组的三种形式 1 使用 arrayOf 函数和指定的数组元素创建数组 Java 写法 String params1 str1 str2 str

    2026年3月17日
    2
  • ntko php,NTKO 附件管理控件_

    ntko php,NTKO 附件管理控件_支持多种后台 web 服务器和开发语言支持 DOMINO IIS WebLogic Apache 等多种后台 web 服务器和 ASP JSP C VB NET PHP 等多种后台开发语言 在任何后台 web 服务器都无需后台安装特别的组件或者软件与 DOMINO 服务器无缝集成无需后台组件 和 DOMINO 服务器可无缝集成 比 INOTES 使用更加方便 开发更加快捷支持智能提交控件使用我们独创的智能提交技术 支持将

    2026年3月18日
    1
  • Tabnine Pro 激活码(破解版激活)「建议收藏」

    Tabnine Pro 激活码(破解版激活),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月16日
    453

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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