Spring MVC 中会话过期

发布于 2024-12-12 02:21:34 字数 76 浏览 0 评论 0原文

如何处理 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

大海や 2024-12-19 02:21:34

对于会话超时,我使用“普通”Servlet API。

在 web.xml 和方法 sessionCreated 中定义的自定义 javax.servlet.http.HttpSessionListener 在会话上使用 setMaxInactiveInterval 设置超时(在 [s] 中) 。

我知道这是“老派”,但很简单并且对我有用。

如果你想从spring获取超时值,可以从session访问ServletContext。

ApplicationContext applicationContext = WebApplicationContextUtils.getWebApplicationContext(session.getServletContext());
applicationContext.getBean("...");   

For sessions timeout I am using 'plain' Servlet API.

Custom javax.servlet.http.HttpSessionListener defined in web.xml and in method sessionCreated on session set timeout using setMaxInactiveInterval (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 applicationContext = WebApplicationContextUtils.getWebApplicationContext(session.getServletContext());
applicationContext.getBean("...");   
浅忆 2024-12-19 02:21:34

一种选择是使用 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文