Я работаю над этой проблемой уже 2 дня, и я надеюсь, что у кого-нибудь здесь была похожая проблема и решение для этого.
Проблема: Это Spring MVC (2.5.6.) WebПриложение, которое запускается в Tomcat 6. Когда запрашивается стартовая страница, оно перенаправляет клиента на страницу JSP (с помощью тегов HTML meta meta refresh), которая загружает его содержимое с большим количеством запросов Ajax (Framework: Prototype).Проблема заключается в том, что Tomcat создает новый сеанс для каждого AJAX-запроса (около 67 сеансов).Моей первой мыслью было, что Session Cookie сохраняется после загрузки стартовой страницы, и запросы Ajax заставляют Tomcat создать новый сеанс.Мой подход состоял в том, чтобы создать сессионный cookie вручную, но это не имело никакого значения.Самое смешное, что он работает в некоторых других экземплярах tomcat, но не в нужной среде для интеграционных тестов.По моему мнению, это проблема конфигурации Tomcat.
После дальнейшего изучения Firebug я обнаружил, что Tomcat создает новый сеанс для каждого запроса, даже если ему передается правильный JSESSIONID (50B5EA0BCFE811C744CE9C1F9EDE0097):
Request Header 1:
Cookie JSESSIONID=F3206CBF2C961E125821FF22FA31A02D
Response Header 1:
Set-Cookie JSESSIONID=49E000B4D6880F4F94531AB9C78DB667; Path=/JOCA-Music-Portal JSESSIONID=50B5EA0BCFE811C744CE9C1F9EDE0097; Path=/JOCA-Music-Portal
Request Header 2:
Cookie JSESSIONID=50B5EA0BCFE811C744CE9C1F9EDE0097
Response Header 2:
Set-Cookie JSESSIONID=DCCA2D1B98D11223A6B8855800276E27; Path=/JOCA-Music-Portal
ОБНОВЛЕНИЕ: Дальнейшее исследование изолировало проблему с конфигурацией Tomcat Realm.Мы используем JDBC Realm для входа в систему.Когда логин деактивирован, создается только один сеанс.Если он активирован, Tomcat создает недействительные / просроченные сеансы, поэтому новый сеанс создается с каждым запросом.Но почему Tomcat ведет себя так?
Я действительно в отчаянии, поэтому любая мысль / подсказка / решение приветствуются.
Большое спасибо