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"));
  • 相关阅读:
    tomcat日志信息查看
    "".equals(xxx)和xxx.equals("")的区别
    javax.crypto.BadPaddingException: Given final block not properly padded解决方案
    去掉first li 的list图标
    浮动后的 <li> 如何在 <ul> 中居中显示?
    java冒泡排序
    JSP获取网络IP地址
    <%@ include %>导入的文件乱码
    out.print()与response.sendRedirect()
    王爽汇编语言第三版第5章实验4
  • 原文地址:https://www.cnblogs.com/liangbo-/p/5293570.html
Copyright © 2011-2022 走看看