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