是否可以在struts2中处理存储在会话中的对象?
我想要在会话中存储的一些对象具有需要释放的资源,但是当会话超时或关闭时,我找不到干净利落地处理它们的方法。
我意识到基于客户端的解决方案需要一个javascript计时器,但我现在并不担心客户端。我只是希望能够在会话超时时清理服务器端的资源。
我考虑过在每个请求上检查会话(复数,因为可能有许多不同客户端的并发会话)并执行延迟清理,但此时会话映射已经消失。
答案 0 :(得分:1)
找到同事的答案。谢谢你的建议。
似乎解决方案是创建一个实现HttpSessionListener的类。此接口包含在创建和销毁会话时调用的函数。然后添加:
<listener>
<listener-class>my.package.listeners.TestSessionListener</listener-class>
</listener>
到web.xml或您的servlet配置文件。