1

我想在我的应用程序中获取所有活动会话的地图。我正在使用struts和tomcat。

或者

我如何为我的应用程序创建一个只有活动会话的映射,其中会话 ID 作为键,会话对象作为值。谢谢

4

2 回答 2

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
  } 
于 2013-11-15T10:49:30.583 回答
0

在 TOMCAT 中没有办法做到这一点。至少不是便携式解决方案。如果这是您存储会话的方式(这取决于您的 Tomcat 的配置),我想您可以在文件系统上搜索存储的会话。

另一种方法是注册 aHttpSessionListener并自行计算和存储它们。

于 2013-11-15T10:47:22.440 回答