首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Java依据sessionId获取Session对象

2013-04-02 
Java根据sessionId获取Session对象1. 建立一个自己的SessionContext:?程序代码:?package com.session.core

Java根据sessionId获取Session对象

1. 建立一个自己的SessionContext:

?

程序代码:

?

package com.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 com.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://www.sadtojoy.com/aspx/Detail.aspx?id=3697

?

热点排行