![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Opik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 1918 Регистрация: 6.10.2004 Где: Рига Репутация: нет Всего: 55 |
Всем привет. Сделал авторизацию. после авторизации делаю:
потом уже на новой странице жму (CTRL +R - обновить), в лисе все отлично, обновляется страница и можно работать дальше. в IE же, он пытается заново авторизироваться.(выскакивает окно с подтверждением повторного запроса на отсылку данных, т.е как будто я редирект и не делал). или же надо делать что то ещё помимо вышеуказанной строки? |
|||
|
||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 4 Всего: 43 |
а попробуйте убрать request.getContextPath(), вдруг поможет? По умолчанию браузер сам подставляет.
|
|||
|
||||
| Opik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 1918 Регистрация: 6.10.2004 Где: Рига Репутация: нет Всего: 55 |
Не помогло
|
|||
|
||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 4 Всего: 43 |
значит IE интерпретирует редирект буквально - код 302 означает, что ресурс перемещен временно , т.е. браузер запоминает изначальный адрес (а вдруг этот ресурс постоянно меняет адрес
|
|||
|
||||
| Opik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 1918 Регистрация: 6.10.2004 Где: Рига Репутация: нет Всего: 55 |
COVD,
другой это какой? |
|||
|
||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 4 Всего: 43 |
http://www.faqs.org/rfcs/rfc2068.html
..... Status-Code = "100" ; Continue | "101" ; Switching Protocols | "200" ; OK .... | "301" ; Moved Permanently | "302" ; Moved Temporarily ..... 301 стало быть. sendRedirect() , если не ошибаюсь, отсылает 302 и новый адрес. Посмотрите, может в sendRedirect есть какие-то опции, чтобы вручную значения хедера не определять. Это сообщение отредактировал(а) COVD - 23.1.2007, 19:24 |
|||
|
||||
| Stampede |
|
|||
![]() Гносеолог ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 963 Регистрация: 25.4.2005 Где: Calgary, Alberta, Canada Репутация: 66 Всего: 144 |
Opik, есть подозрение, что дело в заголовках ответа, управляющих кэшированием в браузере. Но чтобы нам тут не гадать на кофейной гуще, расскажи подробнее, как делаешь авторизацию. Судя по твоему скудному описанию, ты используешь идиому PRG (Post-Redirect-Get), и это правильно. Но все же хотелось бы знать точнее.
|
|||
|
||||
| Opik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 1918 Регистрация: 6.10.2004 Где: Рига Репутация: нет Всего: 55 |
Stampede,
Извиняюсь за скудное описание, но так и есть (я про идиому). Т.е заполняю форму, запрос к базе, проверки, если все успешно - редирект |
|||
|
||||
| Stampede |
|
|||
![]() Гносеолог ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 963 Регистрация: 25.4.2005 Где: Calgary, Alberta, Canada Репутация: 66 Всего: 144 |
Можешь привести пример трех адресов:
И главное, при чем тут рефреш? Это сообщение отредактировал(а) Stampede - 23.1.2007, 20:54 |
|||
|
||||
| Opik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 1918 Регистрация: 6.10.2004 Где: Рига Репутация: нет Всего: 55 |
||||
|
||||
| Tony |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1159 Регистрация: 3.3.2006 Где: Riga Репутация: 6 Всего: 12 |
Попробуй укажи. |
|||
|
||||
| JUncle |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 162 Регистрация: 6.4.2006 Где: Казань, РФ Репутация: нет Всего: 1 |
Так и есть. Может попробовать RequestDispatcher?
--------------------
class JUncle extends Man // singleton{/*...*/} |
|||
|
||||
| Stampede |
|
|||
![]() Гносеолог ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 963 Регистрация: 25.4.2005 Где: Calgary, Alberta, Canada Репутация: 66 Всего: 144 |
Понятно. В принципе все делается правильно. Почему не работает в IE - ХЗ.
Заголовки кэширования тут не помогут - не тот случай. Форвард тоже не решение. С форвардом как раз сломается то, что по крайней мере работает в ФФ. Что вызвало к жизни появление темплейта PRG? Как раз проблема рефреша (и перемещения по кнопкам Взад/Вперед) страницы, созданной в ответ на POST. Чтобы ее разрешить, додумались делать так: адрес, по которому происходит POST, не должен вообще появляться в адресной строке браузера! Вместо него должен сразу идти редирект на страницу подтверждения, и браузер повторным запросом, уже по GET, ее наконец получает. Я бы в твоей ситуации сделал вот что. Я бы убедился, что действия сервера и браузера подчиняются протоколу. То есть важно знать, по какому адресу приходит запрос, какой используется метод, GET или POST, какой возвращается код статуса и прочие заголовки ответа. Если у тебя в проге этого не предусмотрено, можно написать фильтр, который будет эту инфу выводить в логи. Кроме того, на стороне браузера можно отследить клиентскую, так сказать, версию происходящего. В лисе для этого есть хороший плагин под названием FireBug. От этого и будем плясать дальше. ЗЫ. Еще одна мысль пришла в голову. Прверить нечем, так как шестой IE отсутствует. Мысль такая: что если адрес для редиректа указывать не относительный, url/main, а полный, http://localhost:8080/url/main. Может, конечно и не поможет, но все-таки... |
|||
|
||||
| Opik |
|
||||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 1918 Регистрация: 6.10.2004 Где: Рига Репутация: нет Всего: 55 |
1) Request:
Response:
2) Request:
Response:
Смотрел через httpwatch Это сообщение отредактировал(а) Opik - 24.1.2007, 02:32 |
||||||||
|
|||||||||
| Opik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 1918 Регистрация: 6.10.2004 Где: Рига Репутация: нет Всего: 55 |
Сделал отправку 301 статуса (Moved Permanently) не помогло
|
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |