Вы можете иметь свой собственный регистратор, когда вы получите исключение, вы можете написать в журнал событий. Вот небольшой пример.
string cs = "YourIdentifier";
if (!EventLog.SourceExists(cs))
EventLog.CreateEventSource(cs, "Application");
EventLog.WriteEntry(cs, "YourMessage", EventLogEntryType.Error);
Если Вы хотите знать ли это допустимый на основе запроса:
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
}
isNew()
верно, только если эта сессия еще не была принята клиентом (т.е. она была просто создана, и JSESSIONID еще не был отправлен, или если она была отправлена, клиент не передавал ее обратно, таким образом, сервер не знает об этом и создал другую сессию)
Во всех отношениях, да. Однако это бросит IllegalStateException, если обращено сессия, делаемая недействительным в том же цикле ответа запроса.