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