Question

Comment vérifier si une session est invalide ou non? Il n'y a pas de méthode dans la API .

Est-ce la même chose que isNew () ? Et quelle est la différence sinon?

Était-ce utile?

La solution

Si vous souhaitez savoir s'il est valide en fonction d'une requête:

request.isRequestedSessionIdValid()

  or

HttpSession sess = request.getSession(false);
if (sess != null) {
   // it's valid
}

Si vous avez stocké une référence à la session et devez valider, je le ferais

try {
  long sd = session.getCreationTime();
} catch (IllegalStateException ise) {
  // it's invalid
}

Autres conseils

isNew () est vrai uniquement si cette session n'a pas encore été acceptée par le client (c'est-à-dire qu'elle vient d'être créée et que JSESSIONID n'a pas encore été envoyée, ou si elle a été envoyée, le client n'a pas t le renvoyer, donc le serveur ne le sait pas et a créé une autre session)

À toutes fins utiles, oui. Cependant, une exception IllegalStateException sera levée si elle est appelée dans une session invalidée au cours du même cycle de requête-réponse.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top