0
我有一個非常簡單的查詢。可以說一個會話對象不存在或它被刪除,我使用sessionMap.remove(non_existing_object_key或already_removed_object)。那麼會發生什麼?它會拋出異常嗎?刪除已被刪除的會話對象
我有一個非常簡單的查詢。可以說一個會話對象不存在或它被刪除,我使用sessionMap.remove(non_existing_object_key或already_removed_object)。那麼會發生什麼?它會拋出異常嗎?刪除已被刪除的會話對象
你可以看到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異常,如果它被稱爲上 無效會話。
你可以檢查https://struts.apache.org/maven/struts2-core/apidocs/org/apache/struts2/dispatcher/SessionMap.html#remove(java.lang.Object) – Prashant 2015-04-02 06:05:39
感謝PRASHANT – user3681970 2015-04-02 06:19:21