【问题标题】:Display error page once the session is expired in SpringMVC在 Spring MVC 中会话过期后显示错误页面
【发布时间】:2012-01-15 20:06:34
【问题描述】:

在我的 Spring MVC 应用程序中,一旦会话失效,我必须显示一个错误页面。对于会话失效,我使用以下代码:

<session-config>
        <session-timeout>1</session-timeout> 
    </session-config>

在这种情况下,会话会在一分钟后过期。在此处页面中的任何事件中,用户都应该填写错误页面,我可以再次重定向到登录页面。

P.S:我没有使用 Spring 安全性,也不会。

【问题讨论】:

    标签: java spring servlets spring-mvc web.xml


    【解决方案1】:

    您应该使用 HttpSessionListener 进行会话管理。通过

    在web.xml中注册监听器
    <listener>
       <listener-class>com.example.customSessionListener</listener-class>
    </listener>
    

    创建一个扩展实现 HttpSessionListener 的类。覆盖 sessionDestroyed 方法并在此处执行任何您需要的会话跟踪。

    对于重定向,您可能希望在控制器中的某处进行检查,以查看用户是否仍在会话中,如果未将其路由到其他地方。

    【讨论】:

    • 很好,但是用于重定向的一段代码会很有帮助。提前致谢。
    • 检查 xyzws.com/Servletfaq/when-do-i-use-httpsessionlistener/7 以获取有关 httpsessionlistener 的示例。您可以在控制器中执行 httpServletRequest.getSession().getAttribute("userID") - 如果会话超时,这可能为空,您可以通过 response.sendRededirect("url") 重定向页面 - 我我假设您已经在会话属性中设置了用户 ID 以进行会话跟踪。
    猜你喜欢
    • 1970-01-01
    • 2013-06-22
    • 1970-01-01
    • 2014-06-05
    • 2014-08-30
    • 2017-11-20
    • 1970-01-01
    • 1970-01-01
    • 2018-08-22
    相关资源
    最近更新 更多