首页 > 代码库 > Java根据sessionId获取Session对象
Java根据sessionId获取Session对象
1. 建立一个自己的SessionContext:
package cn.org.jshuwei.session.core; import javax.servlet.http.HttpSession; import java.util.HashMap; public class MySessionContext { private static MySessionContext instance; private HashMap mymap; private MySessionContext() { mymap = new HashMap(); } public static MySessionContext getInstance() { if (instance == null) { instance = new MySessionContext(); } return instance; } public synchronized void AddSession(HttpSession session) { if (session != null) { mymap.put(session.getId(), session); } } public synchronized void DelSession(HttpSession session) { if (session != null) { mymap.remove(session.getId()); } } public synchronized HttpSession getSession(String session_id) { if (session_id == null) return null; return (HttpSession) mymap.get(session_id); } }
2.新建一个Session监听
package cn.org.jshuwei.session.core;import javax.servlet.http.HttpSessionListener;import javax.servlet.http.HttpSessionEvent;import javax.servlet.http.HttpSession;import java.util.HashMap;import java.util.Map;public class SessionListener implements HttpSessionListener {public static Map userMap = new HashMap();private MySessionContext myc=MySessionContext.getInstance();public void sessionCreated(HttpSessionEvent httpSessionEvent) {myc.AddSession(httpSessionEvent.getSession());}public void sessionDestroyed(HttpSessionEvent httpSessionEvent) {HttpSession session = httpSessionEvent.getSession();myc.DelSession(session);}}
3.在web.xml中配置
<listener> <listener-class>cn.org.jshuwei.session.core.SessionListener</listener-class> </listener>
4.使用
MySessionContext myc= MySessionContext.getInstance(); HttpSession sess = myc.getSession(sessionId);
转载自--------------http://blog.csdn.net/hecongqi/article/details/6859034
Java根据sessionId获取Session对象
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。