【问题标题】:How to check if a session is invalid如何检查会话是否无效
【发布时间】:2010-10-12 16:55:46
【问题描述】:

如何检查会话是否无效? API中没有方法。

isNew()一样吗?如果不是,有什么区别?

【问题讨论】:

    标签: java session httpsession


    【解决方案1】:

    如果你想知道它是否基于请求有效:

    request.isRequestedSessionIdValid()
    
      or
    
    HttpSession sess = request.getSession(false);
    if (sess != null) {
       // it's valid
    }
    

    如果您存储了对会话的引用并需要验证我会

    try {
      long sd = session.getCreationTime();
    } catch (IllegalStateException ise) {
      // it's invalid
    }
    

    【讨论】:

      【解决方案2】:

      isNew() 仅当此会话尚未被客户端接受时才为真(即它刚刚创建,并且 JSESSIONID 尚未发送,或者如果已发送,客户端没有将其发送回,因此服务器不知道并创建了另一个会话)

      【讨论】:

        【解决方案3】:

        出于所有意图和目的,是的。但是,如果在同一请求-响应周期中无效的会话上调用,它将引发 IllegalStateException。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-11-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-05-02
          • 2011-09-01
          • 2011-02-18
          相关资源
          最近更新 更多