zoukankan      html  css  js  c++  java
  • java根据sessionid获取session

    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"));
  • 相关阅读:
    UVA1292-----Strategic game-----树形DP解决树上的最小点覆盖问题
    【OpenGL游戏开发之三】OpenGl核心函数库汇总
    【Lucene】挖掘相关搜索词
    OpenMP入门教程(三)
    OpenMP入门教程(二)
    OpenMP入门教程(一)
    结构体的排序
    结构体
    循环群、对称群、陪集和拉格朗日定理、正规子群和商群
    概率论与数理统计(一)—— 随机事件与概率
  • 原文地址:https://www.cnblogs.com/liangbo-/p/5293570.html
Copyright © 2011-2022 走看看