如何javaEE通过sessionId获取HttpSession对象
2017-09-10
展开全部
Servlet2.1之后不支持SessionContext里面getSession(Stringid)方法。但是,我们可以通过HttpSessionListener监听器和全局静态map自己实现一个SessionContext。MySessionContext.java:publicclassMySessionContext{privatestaticHashMapmymap=newHashMap();publicstaticsynchronizedvoidAddSession(HttpSessionsession){if(session!=null){mymap.put(session.getId(),session);}}publicstaticsynchronizedvoidDelSession(HttpSessionsession){if(session!=null){mymap.remove(session.getId());}}publicstaticsynchronizedHttpSessiongetSession(Stringsession_id){if(session_id==null)returnnull;return(HttpSession)mymap.get(session_id);}}MySessionListener.java:publicclassMySessionListenerimplementsHttpSessionListener{publicvoidsessionCreated(HttpSessionEventhttpSessionEvent){MySessionContext.AddSession(httpSessionEvent.getSession());}publicvoidsessionDestroyed(HttpSessionEventhttpSessionEvent){HttpSessionsession=httpSessionEvent.getSession();MySessionContext.DelSession(session);}}web.xml添加一个监听器:listener.MySessionListener根据sessionId获取Session对象:StringsessionId=request.getParameter("sessionId");HttpSessionsession=MySessionContext.getSession(sessionId);
2017-09-10
展开全部
Servlet2.1之后不支持SessionContext里面getSession(Stringid)方法。但是,我们可以通过HttpSessionListener监听器和全局静态map自己实现一个SessionContext。MySessionContext.java:publicclassMySessionContext{privatestaticHashMapmymap=newHashMap();publicstaticsynchronizedvoidAddSession(HttpSessionsession){if(session!=null){mymap.put(session.getId(),session);}}publicstaticsynchronizedvoidDelSession(HttpSessionsession){if(session!=null){mymap.remove(session.getId());}}publicstaticsynchronizedHttpSessiongetSession(Stringsession_id){if(session_id==null)returnnull;return(HttpSession)mymap.get(session_id);}}MySessionListener.java:publicclassMySessionListenerimplementsHttpSessionListener{publicvoidsessionCreated(HttpSessionEventhttpSessionEvent){MySessionContext.AddSession(httpSessionEvent.getSession());}publicvoidsessionDestroyed(HttpSessionEventhttpSessionEvent){HttpSessionsession=httpSessionEvent.getSession();MySessionContext.DelSession(session);}}web.xml添加一个监听器:listener.MySessionListener根据sessionId获取Session对象:StringsessionId=request.getParameter("sessionId");HttpSessionsession=MySessionContext.getSession(sessionId);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你要获取 session吗 request.getSession()这样是获取session的sessionId是什么意思
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
战狼班JavaEE开班日期是十月十六日
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询