使用HttpSessionListener来监听session的创建和销毁,首先创建HttpSessionListener的实现类
SessionListeners.java
packagecom.test
importjava.util.HashMap;
importjava.util.Map;
importjavax.servlet.http.HttpSession;
importjavax.servlet.http.HttpSessionEvent;
importjavax.servlet.http.HttpSessionListener;
publicclassSessionListener implementsHttpSessionListener
{
private static int count= 0;
//存放session的集合类 private static Map map= newHashMap();
public voidsessionCreated(HttpSessionEvent event)
{
HttpSession session = event.getSession();
String sessionId = session.getId();
//System.out.println("Create a session:" + sessionId);
map.put(sessionId, session);
count++;
}
public void sessionDestroyed(HttpSessionEvent event)
{
count--;
String sessionId = event.getSession().getId();
//利用会话ID标示特定会话
sessionMaps.remove(sessionId);
//System.out.println("Destroy a session:" + sessionId);
}
public static int getSessionCount()
{
returncount;
}
public staticMap getSessionMaps()
{
returnmap;
}
}
-------------------------------------------------------------------------------------------
然后在web.xml中添加监听器配置:
com.huawei.ispace.aas.app.action.pc.login.SessionListener
-------------------------------------------------------------------------------------------
最后调用:
//sessionid 可以通过其他方式传入
String sessionid = "CF38292F4D7263588449BD8E8A570244.worker1";
HttpSession session = (HttpSession) SessionListener.getSessionMaps().get(sessionid);