Come verificare se una sessione non è valida
-
10-07-2019 - |
Domanda
Come verificare se una sessione non è valida o no? Non esiste alcun metodo nell' API .
È lo stesso di isNew ()
? E qual è la differenza se no?
Soluzione
Se vuoi sapere se è valido in base a una richiesta:
request.isRequestedSessionIdValid()
or
HttpSession sess = request.getSession(false);
if (sess != null) {
// it's valid
}
Se hai memorizzato un riferimento alla sessione e devi convalidarlo, lo farei
try {
long sd = session.getCreationTime();
} catch (IllegalStateException ise) {
// it's invalid
}
Altri suggerimenti
isNew ()
è vero solo se questa sessione non è stata ancora accettata dal client (ovvero è stata appena creata e JSESSIONID non è stata ancora inviata o se è stata inviata, il client non ha fatto ' t rispedirlo, quindi il server non lo conosce e ha creato un'altra sessione)
A tutti gli effetti, sì. Tuttavia, genererà IllegalStateException se chiamato in una sessione invalidata nello stesso ciclo richiesta-risposta.