Wie prüfe ich, ob die Sitzung existiert?

Wie überprüfe ich, ob die Sitzung existiert?

Es gibt zwei Möglichkeiten, um festzustellen, ob die Sitzung vorhanden ist.

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

- Rufen Sie eine Sitzung von "request.getSession ();" ab. Diese Funktion gibt immer eine Sitzung zurück, egal was passiert. Sie entspricht "request.getSession (true);". Das einzige Problem ist, dass Sie nicht wissen, ob es sich um eine neue oder eine vorhandene Sitzung handelt.
- Später können Sie mit "session.isNew ()" überprüfen, ob dies eine neue Sitzung ist, andernfalls wird eine vorhandene Sitzung zurückgegeben.

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)

- Rufen Sie eine Sitzung von "request.getSession (false)" ab. Diese Funktion gibt eine Sitzung zurück, falls vorhanden. Andernfalls wird ein Nullwert zurückgegeben.
- Später können Sie mit dem Sitzungsobjekt eine "Null" -Prüfung durchführen , null bedeutet, dass keine Sitzung verfügbar ist.

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");
        }
    }