Spring MVC 中会话过期
如何处理 Spring MVC 中的会话过期以及处理它的最佳位置是什么?在哪里可以指定会话超时?如果您能通过一些例子向我展示,那就太好了。
How can I handle the session expired in spring MVC and what is the best place to handle it? where can I specify the session time out? It would be great if you could show me by some example.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
对于会话超时,我使用“普通”Servlet API。
在 web.xml 和方法
sessionCreated
中定义的自定义javax.servlet.http.HttpSessionListener
在会话上使用setMaxInactiveInterval
设置超时(在 [s] 中) 。我知道这是“老派”,但很简单并且对我有用。
如果你想从spring获取超时值,可以从session访问ServletContext。
For sessions timeout I am using 'plain' Servlet API.
Custom
javax.servlet.http.HttpSessionListener
defined in web.xml and in methodsessionCreated
on session set timeout usingsetMaxInactiveInterval
(in [s]).I know it is 'old school', but is simple and working for me.
If you want to get timeout value from spring, there is access to ServletContext from session.
一种选择是使用 ApplicationContext 中的事件机制,然后您可以在 web.xml 中注册一个 HttpSessionListener,当会话超时时,它会在根 WebApplicationContext 中向观察该事件的所有 bean 触发一个事件。使用 WebApplicationContextUtils 获取根 WebApplicationContext。
One option is to use the event mechanism in ApplicationContext, you would then register a HttpSessionListener in web.xml that when a session timeouts fires an event in the root WebApplicationContext to all beans that observes that event. Get the root WebApplicationContext using WebApplicationContextUtils.