2

是否可以处理存储在 struts2 中的会话中的对象?

我想在会话中存储的一些对象具有需要释放的资源,但是当会话超时或关闭时,我找不到干净地处理它们的方法。

我意识到基于客户端的解决方案需要一个 javascript 计时器,但我现在并不担心客户端。我只是希望能够在会话超时时清理服务器端的资源。

我考虑过检查每个请求的会话(复数,因为可以有许多与不同客户端的并发会话)并执行后期清理,但此时会话映射已经消失。

4

1 回答 1

1

从同事那里找到答案。感谢您的建议。

看来解决方案是创建一个实现 HttpSessionListener 的类。此接口包含在创建和销毁会话时调用的函数。然后加:

<listener>
    <listener-class>my.package.listeners.TestSessionListener</listener-class>
</listener>

到 web.xml 或您的 servlet 配置文件。

于 2012-10-08T13:31:02.153 回答