Comment vérifier si la session existe?

Comment vérifier si la session existe?

Il existe deux façons de détecter si la session a existé.

1) request.getSession (); + session.isNew ()

- Récupérer une session à partir de "request.getSession ();", cette fonction retournera toujours une session, quoi qu'il en soit, c'est équivalent à request.getSession (true) ;. Le seul problème est que vous ne savez pas s'il s'agit d'une session nouvelle ou existante.
- Plus tard, vous pouvez vérifier avec "session.isNew ()", true s'il s'agit d'une nouvelle session sinon retourner une session existante.

public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws IOException{

        response.setContentType("text/html");
        PrintWriter pw = response.getWriter();

        HttpSession session = request.getSession();
        if(session.isNew()){
            pw.println("New session is jutst created");
        }else{
            pw.println("This is old session");
        }
    }

2) request.getSession (false); + if (session == null)

- Récupérer une session depuis «request.getSession (false);», cette fonction retournera une session si elle existait, sinon une valeur nulle retournera.
- Plus tard, vous pourrez faire une vérification «null» avec l'objet de session , null signifie qu'aucune session existante n'est disponible.

public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws IOException{

        response.setContentType("text/html");
        PrintWriter pw = response.getWriter();

        HttpSession session = request.getSession(false);
        if(session ==null){
            pw.println("No session available");
        }else{
            pw.println("This is old session");
        }
    }