Как проверить, существует ли сессия?
Есть два способа определить, существует ли сеанс.
1) request.getSession (); + session.isNew ()
- Получить сеанс из «request.getSession ();», эта функция всегда будет возвращать сеанс независимо от того, что он эквивалентен request.getSession (true) ;. Единственная проблема в том, что вы не знаете, новый это сеанс или существующий.
- Позже вы можете проверить с помощью «session.isNew ()», true, если это новый сеанс, иначе верните существующий сеанс.
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 (сессия == ноль)
- Получить сеанс из «request.getSession (false);», эта функция вернет сеанс, если он существует, иначе вернет нулевое значение.
- Позже вы можете выполнить «нулевую» проверку с помощью объекта сеанса , null означает, что сеанс недоступен.
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");
}
}