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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • MYSQL经常使用命令列表

    MYSQL经常使用命令列表

    2021年12月16日
    36
  • MATLAB 循环语句_for循环matlab

    MATLAB 循环语句_for循环matlabMatlab的循环语法1、用循环方式实现从1到999的累加2、(1)、for循环方式实现: %% %初始化sum的值为0 sum=0; %从1开始遍历到999 fori=1:999 %对遍历的每一个元素进行累加 sum=sum+i; end %在控制台显示结果 disp(sum); (…

    2022年9月26日
    2
  • MySql多库查询及连表查询[通俗易懂]

    MySql多库查询及连表查询[通俗易懂]多库查询时,默认为当前连接的数据库,如果需要别的数据库时可在表面前加数据库名称即可实现,多库多表连接及查询

    2022年8月19日
    12
  • asp判断session是否为空

    asp判断session是否为空1IfSession(“sesName”)=””Then…2IfSession(“sesName”)=EmptyThen…3IfIsEmpty(Session(“sesName”))Then…4IfCint(Session(“sesName”))=0Then… 来自:百度空间

    2022年7月15日
    17
  • Java的8个Java日志工具[通俗易懂]

    摘要:本文要来分享一些Java程序员最常用的Java日志框架组件。日志工具log4j–最受欢迎的Java日志组件Log4j是一款基于Java的开源日志组件,Log4j功能非常强大,我们可以将日志信息输出到控制台、文件、用户界面,也可以输出到操作系统的事件记录器和一些系统常驻进程。更值得一提的是,Log4j可以允许你非常便捷地自定义日志格式和日志等级,可以帮助开发人员全方位地掌控…

    2022年4月9日
    497
  • 国外常用的免费DNS域名解析服务器(转)「建议收藏」

    国外常用的免费DNS域名解析服务器(转)「建议收藏」  在国内注册的域名默认使用的是国内域名注册商提供的DNS服务器,国内的DNS服务器可能受政策的影响停止解析域名,网络上传说以后没有备案的域名国内将不给解析。  为了避免国内的这些政策,建议使用国外的域名服务:如果您还没有注册域名,请不要在国内注册域名,我们直接代理enom.com的域名,使用enom分布在全球各地的DNS服务器,推荐各位使用。如果您已经在国内注册了域名,建议把您的…

    2022年6月22日
    59

发表回复

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

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