ОБНОВЛЕНИЕ: После анализа моей первоначальной проблемы, которая указана во втором разделе, я обнаружил, что проблема может быть связана с ответом 304, ниже приведено подробное объяснение.
Я разработал веб-приложение, в котором пользователи нажимают на ссылку, и она переводит его в сервлет, где я устанавливаю несколько переменных сеанса, а затем перенаправляю их в jsp. В первый раз, когда я получаю доступ к приложению, все работает нормально после закрытия браузера, а затем открытия браузера и доступа к приложению, я получаю исключение нулевого указателя в jsp, потому что он пытается получить доступ к данным сеанса, причина, по которой я получаю ответ 304 для сервлета, так что это означает этот сервлет не вызывается, а мой jsp вызывается? поскольку сервлет не вызывается, значения сеанса не устанавливаются.
Правильно ли я понимаю?
Я наблюдаю это только в IE9
--------------------- Мой исходный вопрос ниже --------
Мы интегрировали Siteminder в наше приложение. Я заметил, что сеанс SM файла cookie siteminder создается для другого домена, в то время как файл cookie моего приложения создается для соответствующего домена.
Для каждого запроса я вижу новое значение smsession, но файл cookie моего приложения остается прежним, даже если файл cookie остается тем же, значения, которые я установил в сеансе с помощью сервлета, недоступны в моем jsp.
Я напечатал jsession id
, jsession id
одинаков для всех запросов.
Ниже поток.
Пользователь нажимает на URL-адрес, siteminder перехватывает его и запрашивает учетные данные, как только пользователь успешно входит в систему, он перенаправляется на сервлет, где я устанавливаю несколько значений в сеансе, а затем отправляю элемент управления в index.html, который имеет два фрейма. Я загружаю два jsp для этих кадров, и в этих jsps я пытаюсь получить доступ к значениям сеанса, которые я не могу получить.
Я наблюдаю это поведение только в IE9, но IE8 ведет себя правильно, первый раз доступ работает нормально, второй раз нет в IE9.
Может ли кто-нибудь сообщить мне, если изменение в smsesson влечет за собой изменения в httpssession для java-приложения? я так не думаю, поскольку идентификатор Jsession остается прежним.
Что может быть возможной причиной этого.