删除已删除的会话对象

时间:2015-04-02 05:59:29

标签: java session

我有一个非常简单的查询。让我们说会话对象不存在或者它被删除,我使用的是sessionMap.remove(non_existing_object_key或already_removed_object)。然后会发生什么?它会抛出异常吗?

1 个答案:

答案 0 :(得分:0)

你可以看到SessionMap的代码

  

删除指定的会话属性。

<强>参数: 键入要删除的属性的名称。

<强>返回: 已删除的值,如果未找到该值,则为null(因此,不会删除)。

public V More ...remove(Object key) {
  if (session == null) {
   return null;
    }

synchronized (session) {
    entries = null;

   V value = get(key);
  session.removeAttribute(key.toString());

    return value;
 }
}

但是在一行remove方法中,它将 HttpSession 方法removeAttribute(String key)称为:

session.removeAttribute(key.toString());
  

如果在一个上调用它,将抛出 IllegalStateException   无效的会话。