Как проверить, недействителен ли сеанс или нет? В API метода нет.Как проверить, недействителен ли сеанс
Это то же самое, что и isNew()
? И в чем разница, если нет?
Как проверить, недействителен ли сеанс или нет? В API метода нет.Как проверить, недействителен ли сеанс
Это то же самое, что и isNew()
? И в чем разница, если нет?
Если вы хотите знать, действительно ли это на основе запроса:
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
}
Для всех целей и задач. Тем не менее, он будет вызывать исключение IllegalStateException, если вызов в сеансе недействителен в том же цикле запроса-ответа.
isNew()
только правда если этот сеанс еще не был принят клиентом (т. е. он был только что создан, и JSESSIONID еще не был отправлен, или если он был отправлен, клиент не отправил его обратно, поэтому сервер не знает об этом и создал другое сессия)