首页 > 编程语言 > 详细

java根据sessionid获取session

时间:2016-03-18 21:46:21      阅读:224      评论:0      收藏:0      [点我收藏+]
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"));

 

java根据sessionid获取session

原文:http://www.cnblogs.com/liangbo-/p/5293570.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!