如果会话过期,我们的应用程序要求我们将用户的一些会话数据序列化到文件系统。我们会在传入时对其进行序列化,但由于我们应用程序的性质,这将过于昂贵。
如果我们能找到一种方法来挂钩某种“onSessionEnd”方法,那么我们就可以运行清理代码。
您需要HttpSessionListener
为您的应用程序设置一个。
调用的接口上有一个方法,onSessionDestroy
当会话结束时应该调用它,您可以立即执行序列化。
要设置侦听器,请添加web.xml
:
<listener>
<listener-class>com.example.app.session.MySessionListener</listener-class>
</listener>