Понятия не имею, о чем вы говорите "сессия не обрабатывается". Пожалуйста, опишите проблему с точки зрения разработчика, а не с точки зрения конечного пользователя. Что именно происходит? Что именно не происходит?
Я могу, по крайней мере, сказать, что сессии обычно поддерживаются файлами cookie. Файлы cookie в свою очередь обычно привязаны к определенному домену и пути. Файлы cookie не зависят от используемого протокола. Грубо говоря, если веб-контейнер создал cookie для отслеживания HttpSession
, он будет по умолчанию использовать request.getServerName()
в качестве домена cookie и request.getContextPath()
в качестве пути cookie.
Так, если, например, у вас есть это веб-приложение на http://example.com/context
, то файл cookie будет создан для хоста example.com
и пути /context
. Независимо от протокола. Но когда вы запускаете запрос на http://example.com/anothercontext
, по умолчанию вы не получите тот же cookie-файл и, следовательно, не тот же сеанс.
Однако большинство веб-контейнеров предоставляют параметры конфигурации, которые могут влиять на хост и путь файла cookie. Например, Tomcat поддерживает атрибут emptySessionPath
в HTTP-коннекторе , поэтому путь к файлам cookie всегда равен /
. Таким образом, http://example.com/context
и http://example.com/anothercontext
смогут совместно использовать одни и те же файлы cookie и, следовательно, также сеанс.
Это знание того, как все это работает "под капотом", должно дать лучшее понимание вашей проблемы и, таким образом, также облегчить выявление основной причины.