#java #session #tomcat #cookies #jsessionid
#java #сессия #tomcat #файлы cookie #jsessionid
Вопрос:
как обстоит дело с Set-Cookie: VS jsessionid url token
приоритетом?
Apache Tomcat, похоже, просто игнорирует токен, если установлен cookie. Разве это не немного неудобное поведение? Или это так из соображений безопасности?
это URL-адрес запроса в сервлете
....someParam=addFile;jsessionid=7A6ECCF009D4855821BCB45E0B744A7B'
и идентификатор результирующего сеанса соответствует параметру заголовка запроса cookie…
Это означает, что это портит обработку запроса. Например, Spring-mvc преобразует someParam
значение в addFile;jsessionid=7A6ECCF009D4855821BCB45E0B744A7B'
, и происходит сбой с исключением…
Ответ №1:
Согласно спецификации Servlet 2.4, перезапись URL-адреса является наименьшим значением для отслеживания сеанса, поэтому я не удивлен, что jsessionid
в URL игнорируется для клиентов, которые принимают файлы cookie. Прочитайте раздел 7.1 для получения соответствующих сведений (т. Е. отслеживания сеанса).
Что касается вашего обновленного вопроса (связанного с Spring MVC), существует множество статей / методик, в которых упоминается, как избавиться от чрезмерного количества ;jsessionid
в вашем URL-адресе, удалив их с помощью фильтра или с помощью mod_rewrite . Выполните поиск в Google по «jsessionid в URL» и прочитайте следующие ссылки.
Комментарии:
1. Проблема здесь в том, что Tomcat должен удалить его, если он принимает cookie, потому что в противном случае он остается в URL-адресе
2. В спецификации нет ничего, что указывало бы, что
jsessionid
в URL-адресе должно быть удалено, если клиент принимает файлы cookie. Я не уверен, почему URL-адрес вашего клиента содержитjsessionid
, если клиент принимает файлы cookie? Вы вводитеjsessionid
вручную? Кроме того, смотрите Мой обновленный ответ.3. Причина в проклятой технологии Flash bugs.adobe.com/jira/browse/FP-1044 … ошибка 3-летней давности и 77 голосов, и adobe просто наблюдает, как люди безнадежно борются с ней
4. @Санджай Т. Шарма, и что бы я сделал с jsessionid? Мне нужен tomcat для загрузки соответствующего объекта сеанса. Мне не нужен SessionID в моем контроллере, что бы я сделал с it…it бесполезно
5. Например, движок PHP прослушивает cookie, токен URL-адреса PHPSESSIONID !и! Параметр запроса POST phpsessionID. И он загружает соответствующий объект сеанса… Но контейнеры сервлетов этого не делают, они прослушивают только cookie и токен URL jsessionid… не параметры http-запроса