Страницы

Поиск по вопросам

пятница, 12 июля 2019 г.

Когда создается объект HttpSession?

В сервлете есть метод:
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println(req.getSession(false)); req.getRequestDispatcher(indexPage).forward(req, resp); }
При использовании apache-tomcat-8.5.15 при первом обращении получается следующий лог:
null null org.apache.catalina.session.StandardSessionFacade@5e21a333
Я всегда думал что существует возможность управлять процессом создания сессии при помощи getSession(true/false). Но выходит что сессия создается вне зависимости от моего желания? Так как же мне обеспечить что бы сессия не создавалась до тех пор, пока я сам не скажу getSession(true)? Хоть я false параметром и выставил, а все равно получил ее создание...
Помогите пожалуйста разобраться что произошло. Спасибо.


Ответ

Скорее всего в вашем приложении использовался JSP. По умолчанию сессия создается при обращении к произвольной JSP странице, если это в явном виде не отключено специальной директивой <%@ page session="false" %>
В остальном вы правы req.getSession(false) не приводит к созданию сессии, если она не была создана до этого.

Комментариев нет:

Отправить комментарий