2015-04-02 3 views
0

У меня очень простой запрос. Допустим, что объект сеанса отсутствует или он удален, и я использую sessionMap.remove (non_existing_object_key или уже_removed_object). Тогда что будет? Будет ли это исключение?удаление объекта сеанса, который уже удален

+0

вы можете проверить https://struts.apache.org/maven/struts2-core/apidocs/org/apache/struts2/dispatcher/SessionMap.html#remove(java.lang.Object) – Prashant

+0

Благодаря Prashant – user3681970

ответ

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; 
} 
} 

, но в одной строке методы удалить его вызов HttpSession метода removeAttribute(String key) как:

session.removeAttribute(key.toString()); 

это будет бросать IllegalStateException, если она вызвана на аннулирована сессии.

Смежные вопросы