Comment détruire efficacement 'session' dans Java Servlet?
La Servlet je travaille a une variable session
.
J'ai essayé session.invalidate();
les ce semblent avoir détruit la session mais quand je fais une redirection comme response.sendRedirect("restanes.jsp");
il me donne HTTP Status 500
erreur avec cette ligne:
java.lang.IllegalStateException: getAttribute: Session already invalidated
C'est prévu que j'étais à essayer de détruire la session.
Mais pourquoi la page est-elle pas en mesure de rediriger? Sur la même page, d'ailleurs j'ai redirigé correctement.
Comment puis-je détruire session et de les rediriger correctement?
Extrait de Code:
if(request.getParameter("logout") != null ){
session.invalidate();
response.sendRedirect("restanes.jsp");
}
Mise à jour:
Tout ce que j'avais à faire était de return;
après response.sendRedirect("restanes.jsp");
. Sincères remerciements à BalusC
.
source d'informationauteur Sushan Ghimire
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin de retourner à partir de la méthode après l'envoi de la redirection.
Sinon le code continuera à courir et frapper certains
session.getAttribute()
méthode plus bas dans le bloc causé exactement cette exception. Au moins, c'est la cause la plus probable du problème décrit jusqu'à présent et repose sur le fait que c'est une jolie commune du starter erreur. Voir aussi par exemple cette réponse.Votre code est correct
mais assurez-vous que la redirection de la page ne contient pas tous les attributs de session. 500 erreur interne venant de "restanes.jsp" de la page.
travailler avec la redirection de la page de la session et de l'activité.