处理会话对象

时间:2012-10-04 18:30:14

标签: session struts2 server-side dispose

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

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

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

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

1 个答案:

答案 0 :(得分:1)

找到同事的答案。谢谢你的建议。

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

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

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