【问题标题】:How to redirect to specified page after session timeout会话超时后如何重定向到指定页面
【发布时间】:2011-12-13 02:57:50
【问题描述】:

如何将用户重定向到他在会话超时之前已经打开的页面。

例如用户打开/contactUs.jsp页面,然后会话超时并重定向到login.jsp页面,当他再次登录时如何将他重定向到contactUs.jsp页面?

【问题讨论】:

    标签: java jsp session servlets redirect


    【解决方案1】:

    您可以编写filter 并检查会话对象中是否存在会话属性。您必须在用户成功登录时添加/设置会话属性。

    【讨论】:

      【解决方案2】:

      您如何重定向到登录页面?此时,您应该将最初请求的 URL 存储在某处(可以在会话中,或者您传递的请求参数),以便您可以在他再次登录后重定向回那里

      【讨论】:

      • 我通过过滤器重定向到登录页面,但是由于会话超时,我无法将url存储在会话或请求参数中,我可以将其存储在本地存储中,但是有很多网站在不使用本地存储的情况下重定向到我已经打开的页面!
      • 如果您转发到登录页面而不是重定向(使用 requestDispatcher.forward),您可以保留保存到请求中的任何属性。通过这种方式,您可以将原始 url 存储为请求属性并将其添加为登录 jsp 中的隐藏字段
      【解决方案3】:

      您必须使用登录 jsp 本身中的隐藏字段来执行此操作,因为由于会话已经失效,服务器将无法识别用户。

      【讨论】:

        【解决方案4】:

        您可以在会话超时的情况下将 JavaScript 刷新 sn-p 放入响应页面。

        您还可以使用“刷新”字段 HTTP 标头。

        参考:http://en.wikipedia.org/wiki/List_of_HTTP_header_fields 并搜索“刷新”

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-09-12
          • 2012-05-04
          • 1970-01-01
          • 2018-10-24
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多