Как проверить, недействителен ли сеанс или нет?
В API нет метода.
Это то же самое, что и isNew()? И в чем разница, если нет?
Ответ 1
Если вы хотите узнать, действительно ли это на основании запроса:
request.isRequestedSessionIdValid()
or
HttpSession sess = request.getSession(false);
if (sess != null) {
// it valid
}
Если вы сохранили ссылку на сеанс и должны проверить, что я бы
try {
long sd = session.getCreationTime();
} catch (IllegalStateException ise) {
// it invalid
}
Ответ 2
isNew() истинно, только если этот сеанс еще не был принят клиентом (т.е. он был только что создан, а JSESSIONID еще не отправлен, или если он был отправлен, клиент не отправил его обратно, поэтому сервер не знает об этом и создал другой сеанс)
Ответ 3
Для всех целей и целей да. Тем не менее, он будет вызывать исключение IllegalStateException, если вызов в сеансе недействителен в том же цикле запроса-ответа.