我想在我的应用程序中获取所有活动会话的地图。 我正在使用struts和tomcat。
或
如何为我的应用程序创建仅活动会话的映射,其中会话ID为关键,会话对象为值。 感谢
答案 0 :(得分:1)
是的,你一定要去HttpSessionListener
实施。这将帮助您捕获会话创建和销毁事件。您可以在此处编写逻辑,以相应地添加和删除映射中的会话对象。
例如
@Override
public void sessionCreated(HttpSessionEvent arg0) {
//get the session object from the event
//put the session id and session object to your map
}
@Override
public void sessionDestroyed(HttpSessionEvent arg0) {
//get the session object
//remove it from the map using it's session id
}
答案 1 :(得分:0)
在TOMCAT中无法做到这一点。至少不是便携式解决方案。我猜你可以搜索文件系统上存储的会话,如果这是你存储会话的方式(这取决于你的Tomcat的配置)。
另一种方法是注册HttpSessionListener
并计算并存储你自己。