2014-11-12 5 views
0

У меня возникла интересная проблема. Я работаю над веб-проектом на основе сервлета с использованием сеанса. Когда я работаю над своей машиной разработки и ее локальным сервером tomcat, сеансы просто прекрасны. Атрибуты были добавлены в один запрос и использовались в другом без каких-либо проблем. Через некоторое время я развернул веб-сайт на удаленной машине, и управление сеансом было нарушено.Tomcat сбрасывает сеанс по каждому запросу

Как я уже говорил, tomcat запускает событие sessionCreated для каждого запроса и дает тот же идентификатор. Я использую инструмент разработки chrome для проверки заголовков, и браузер кажется прекрасно отправляет идентификатор сеанса. Поскольку tomcat обновляет сеанс, он теряет атрибуты.

КСТАТИ: приложение работает под субдомен, такие как webproject.example.com

Содержание context.xml является довольно простой

<Context antiJARLocking="true" path="" sessionCookiePath="/"/> 

Что я здесь отсутствует?

Благодаря

+0

каждый запрос и дает тот же идентификатор - вы имеете в виду, дает новый идентификатор для каждого запроса? – 6ton

+0

@ 6ton No. Он запускает сеанс. Создает и возобновляет сеанс с тем же идентификатором сеанса. – Alican

+0

Проверьте, есть ли у вас HTTP-сервер или балансировщик нагрузки, который перехватывает ваш запрос и может быть неправильно сконфигурирован. – 6ton

ответ

0

Убедитесь, что куки включены в браузере клиента. Если это не так, то нет постоянного идентификатора, с помощью которого можно получить сеанс. В этом случае request.getSession() создаст новый сеанс по каждому запросу.

+0

cookie включены. – Alican

Смежные вопросы