• Java根据sessionId获取Session对象


    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

  • 相关阅读:
    视频直播思路
    Swift 算法实战之路:栈和队列
    多线程(RunLoop)
    Charle抓包与wireshark使用
    CoreData归纳使用
    支付宝接入心得(流程)
    TableView的性能优化
    app启动页问题
    公司的开发者账号申请
    java关于时间的笔记
  • 原文地址:https://www.cnblogs.com/joycelishanhe/p/3955982.html
Copyright © 2020-2023  润新知