Сеансы поддерживаются куки.Когда на сервере создается новый сеанс, он добавляет cookie в ответ, который клиент должен отправить обратно во всех последующих запросах в том же сеансе.
Однако вы, очевидно, обновляете Первоначальный запрос, нажав F5 или кнопку обновления в браузере.Первоначальный запрос не содержит cookie сеанса.Если вы добавите в HTML ссылку, которая указывает на саму страницу или другую страницу на том же сайте, и щелкните по ней, вы увидите, что сеанс будет просто поддерживаться.
Один из способов обойтиэто создает фильтр, который выполняет перенаправление при создании сеанса.
Обновление : файлы cookie отключены и зависят от хоста и контекста.Вам необходимо убедиться, что файлы cookie включены как на веб-сервере (например, Tomcat <Context>
не имеет cookies="false"
), так и на веб-браузере (где-то в настройках), и что имя хоста не является доменом интрасети (некоторые браузеры запрещают файлы cookie для пустых имен узлов)и что он отправляется в тот же контекст (имя контекста webapp).Советы по отладке файлов cookie см. В этом ответе .
. Не относящийся к проблеме, использование HTML в сервлете не является наилучшей практикой.Эта работа выполняется с помощью файла JSP.Используйте RequestDispatcher#forward()
, чтобы переслать запрос в файл JSP после выполнения всех необходимых действий кода Java.