【问题标题】:How to properly message a session timeout in JSP?如何在 JSP 中正确发送会话超时消息?
【发布时间】:2012-04-20 13:32:11
【问题描述】:

使用 JSP 的默认 <session-timeout> 设置,我想在会话过期后显示“您的会话已过期(30 分钟)”消息并将用户带回登录页面。

使用((HttpServletRequest) request).getSession(false) == null 来检测它没有正常工作,因为在用户第一次进入应用程序时会话已经为空,从而使消息立即弹出。

我怎样才能避免这种情况?有没有办法自定义 JSP 的 HttpSession 以便我知道真正的事件何时发生?

【问题讨论】:

    标签: jsp session servlets session-timeout


    【解决方案1】:

    如何设置一个指示上次登录的cookie?如果 cookie 有效且 url 不是登录 url,则可以显示会话超时消息。

    【讨论】:

      【解决方案2】:

      使用request.isRequestedSessionIdValid()方法怎么样(伪代码):

      if(request.getRequestedSessionId() == null) {
        // no session yet -> need to create new one
      }
      else if(request.isRequestedSessionIdValid()) {
        // we have valid session
      }
      else {
        // session invalid due to timeout -> handle timeout
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-26
        • 2019-05-31
        • 1970-01-01
        • 2018-03-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多