Я разработал простое веб-приложение с двумя сервлетами A и B.
У меня есть несколько сомнений относительно управления сессиями для веб-приложения Tomcat.
ПРИМЕЧАНИЕ. - Я отключил файлы cookie в своем веб-браузере (Chrome) при доступе к веб-приложению.
1.) При первом обращении к веб-приложению вызывается сервлет А. Сервлет A получает доступ к сеансу из запроса и выполняет простой sysout хеш-кода сеанса. Затем он sendRedirect сервлет B.
[Насколько я понимаю, поскольку это первый запрос, Tomcat отправит cookie, содержащий новый идентификатор сессии, обратно в браузер. Однако, поскольку мы не «закодировали» URL-адрес перенаправления с помощью HttpResponse.encodeRedirectURL () , URL-адрес перенаправления не будет содержать идентификатор сеанса, добавленный к нему. Пожалуйста, поправьте меня, если я ошибаюсь.]
2.) Поскольку в моем браузере отключены файлы cookie, он будет игнорировать идентификатор сеанса, отправленный обратно в файле cookie, и выдаст новый запрос на URL перенаправления (к которому также не добавлен идентификатор сеанса).
3.) Новый запрос вызывает запуск сервлета B, который также обращается к сеансу запроса и выполняет sysout хеш-кода сеанса.
Меня смущает то, что оба сервлета A и B выводят один и тот же хэш-код сеанса, что означает, что они получают один и тот же сеанс из обоих запросов.
Как второй запрос от браузера отображается на тот же сеанс, что и раньше, даже если идентификатор сеанса не был отправлен?
Спасибо!