【发布时间】:2009-06-23 22:21:33
【问题描述】:
为了跟踪 Web 应用程序上的用户活动历史记录,我尝试在会话无效时将一些会话数据保存到数据库中。我最初的方法是将数据存储在具有会话范围的 javabean 上,并通过 finalize 方法将其数据转储到数据库中。
由于 finalize 的不可预测行为,我认为这不是一个完美的解决方案,但它应该可以工作并最终保存数据。然而,事实证明,这种策略并不能可靠地达到预期的结果——即使手动使会话无效并且切换了当前用户,数据也经常不会被记录。
在每次客户端操作后无需不断更新数据库的情况下,将数据会话数据保存到数据库的更好方法是什么?有没有办法在会话失效时调用特定的方法?
【问题讨论】: