Как проверить, существует ли сессия?
Есть два способа определить, существует ли сеанс.
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"); } }