Я разрабатываю Java-сервлеты. В момент проверки того, вошел ли пользователь в систему, я хочу проверить, имеет ли HTTP-запрос действительный сеанс. Чтобы проверить это, у меня есть 2 возможности:
(1)
Код: Выделить всё
protected void processRequest(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
HttpSession session = request.getSession(false);
if (session != null) {
// user is logged in
...
}
}
Поскольку я передаю false в качестве аргумента, новый сеанс не создается, если уже не существует действующего сеанса, и функция возвращает значение null, что я могу проверить.
Или я:
(2)
Код: Выделить всё
if (request.isRequestedSessionIdValid()) {
// user is logged in
...
}
Есть ли разница, преимущества/недостатки? Или обе функции выполняют более или менее одно и то же?
Подробнее здесь:
https://stackoverflow.com/questions/142 ... ssionfalse