2009-03-11 6 views

ответ

43

Если вы хотите знать, действительно ли это на основе запроса:

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

Для всех целей и задач. Тем не менее, он будет вызывать исключение IllegalStateException, если вызов в сеансе недействителен в том же цикле запроса-ответа.

5

isNew() только правда если этот сеанс еще не был принят клиентом (т. е. он был только что создан, и JSESSIONID еще не был отправлен, или если он был отправлен, клиент не отправил его обратно, поэтому сервер не знает об этом и создал другое сессия)

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