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