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