/ / request.getSession (false) .invalidate nie działa po wylogowaniu - java, jsp, tomcat, servlets

request.getSession (false) .invalidate nie działa po wylogowaniu - java, jsp, tomcat, servlets

Mam projekt internetowy z tomcat, java, jsp,serwlety. Jeśli wyloguję się na moim interfejsie webproject, chcę zniszczyć wszystkie sesje. Ale poniższy kod nie działa. "Spodziewam się, że wszystkie sesje zostaną zniszczone i że jeśli się wyloguję, będę musiał uwierzytelnić się w następnym kroku z moim użytkownikiem i hasłem jak zwykle. Dziękujemy za pomoc.

if(lstrAction!=null && lstrAction.equals(ApplicationConstants.LOGOUT)){

HttpSession session = request.getSession(false);
if(session != null){
session.invalidate();
session = request.getSession(false);
}

}

Mam debugowanie mojego projektu i stwierdziłem, że sesja nie jest pusta po ostatniej linii.

Odpowiedzi:

0 dla odpowiedzi № 1
session.invalidate();
session = request.getSession(false);

Tutaj po unieważnieniu sesji zmieniasz przypisanie sesji. W tym punkcie nie będzie to wartość zerowa. Musisz wykonać zerowe sprawdzanie, czy sesja ma wartość zerową, czy nie.


-1 dla odpowiedzi № 2

spróbuj tego kodu. To na pewno dla ciebie działa.

Plik cookie c [] = request.getCookies (); if (c == null) {response.sendRedirect ("index.jsp"); } else {session.removeAttribute (c [0] .getValue ()); response.sendRedirect ("index.jsp"); }