import java.util.HashMap; import java.util.Map; import javax.servlet.http.HttpSession; /** * * ClassName: SessionContext * * @Description: 获取sessionID * @author liangbo * @date 2016-3-18 */ public class SessionContext { private static SessionContext instance; private Map<String, HttpSession> sessionMap; private SessionContext() { sessionMap = new HashMap<String, HttpSession>(); } public static SessionContext getInstance() { if (instance == null) { instance = new SessionContext(); } return instance; } public synchronized void addSession(HttpSession session) { if (session != null) { sessionMap.put(session.getId(), session); } } public synchronized void delSession(HttpSession session) { if (session != null) { sessionMap.remove(session.getId()); } } public synchronized HttpSession getSession(String sessionId) { if (sessionId == null) return null; return sessionMap.get(sessionId); } }
import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSessionEvent; import javax.servlet.http.HttpSessionListener; /** * * ClassName: SessionListener * * @Description: sessionid web.xml监听器 * @author liangbo * @date 2016-3-18 */ public class SessionListener implements HttpSessionListener { private SessionContext context = SessionContext.getInstance(); @Override public void sessionCreated(HttpSessionEvent sessionEvent) { context.addSession(sessionEvent.getSession()); } @Override public void sessionDestroyed(HttpSessionEvent sessionEvent) { HttpSession session = sessionEvent.getSession(); context.delSession(session); } }
web.xml
<listener> <listener-class>hometree.ecs.business.service.util.session.SessionListener</listener-class> </listener>
//添加session SessionContext.getInstance().addSession(server.getSession()); //获取session HttpSession session = SessionContext.getInstance().getSession( request.getParameter("sessionid"));