Zajmuję się programowaniem Java Servlet. W momencie sprawdzania, czy użytkownik jest zalogowany, chcę sprawdzić, czy żądanie HTTP ma prawidłową sesję. W celu sprawdzenia, że mam 2 możliwości:Sprawdź poprawność sesji: isRequestedSessionIdValid() vs getSession (fałsz)
(1)
protected void processRequest(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
HttpSession session = request.getSession(false);
if (session != null) {
// user is logged in
...
}
}
Od mijam false jako argument, nie ma nowej sesji tworzony jeśli nie istnieje ważna sesja już istniejących, a funkcja zwraca null, za co mogę sprawdzić.
Albo zrobić:
(2)
if (request.isRequestedSessionIdValid()) {
// user is logged in
...
}
Czy jest jakaś różnica, każdy zaleta/wada? Czy też obie funkcje działają mniej więcej tak samo?
+1 dla "Po utworzeniu pierwszego żądania kontener tworzy sesję i wysyła plik cookie Jsessionid wraz z odpowiedzią" – informatik01