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