Не работает sendRedirect
От: Alexander Karavaev  
Дата: 17.08.05 12:40
Оценка:
Несложное сервлетное веб приложение на джаве. Ничего подобного struts и jsp не используется. В качестве веб сервера используется TomCat. Столкнулись с тем, что не работает sendRedirect. Страница грузится при прямом запросе, а при перенаправлении на нее выдается сообщение об ошибке — The requested URL could not be retrieved
с чем это может быть связано?
Re: Не работает sendRedirect
От: Lucker Беларусь http://lucker.intervelopers.com/
Дата: 17.08.05 12:45
Оценка:
Здравствуйте, Alexander Karavaev, Вы писали:

AK>Несложное сервлетное веб приложение на джаве. Ничего подобного struts и jsp не используется. В качестве веб сервера используется TomCat. Столкнулись с тем, что не работает sendRedirect. Страница грузится при прямом запросе, а при перенаправлении на нее выдается сообщение об ошибке — The requested URL could not be retrieved

AK>с чем это может быть связано?


наверно не туда редиректите.
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
Re: Не работает sendRedirect
От: Karrales  
Дата: 18.08.05 07:35
Оценка: 2 (1) -2
Здравствуйте, Alexander Karavaev, Вы писали:

AK>с чем это может быть связано?


предлагаю попробовать вместо sendRedirect метод forward. sendRedirect вроде как морально устарел.
Re[2]: Не работает sendRedirect
От: Lucker Беларусь http://lucker.intervelopers.com/
Дата: 18.08.05 08:03
Оценка:
Здравствуйте, Karrales, Вы писали:

K>предлагаю попробовать вместо sendRedirect метод forward. sendRedirect вроде как морально устарел.


Что за догадки? Основания?

просто у двух методов разная семантика. forward — делает перенаправление запроса на серверной стороне прозрачно для клиента, sendRedirect — на клиентской (говорит клиенту послать запрос на дугой URL). В первом случае обоими ресурсами используется один запрос, во втором — создается новый.
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
Re[3]: Не работает sendRedirect
От: Alexander Karavaev  
Дата: 19.08.05 10:30
Оценка:
Здравствуйте, Lucker, Вы писали:

L>Здравствуйте, Karrales, Вы писали:


K>>предлагаю попробовать вместо sendRedirect метод forward. sendRedirect вроде как морально устарел.


L>Что за догадки? Основания?


L>просто у двух методов разная семантика. forward — делает перенаправление запроса на серверной стороне прозрачно для клиента, sendRedirect — на клиентской (говорит клиенту послать запрос на дугой URL). В первом случае обоими ресурсами используется один запрос, во втором — создается новый.


Однако после замены sendRedirect на forward всё заработало. Большое спасибо.
Re[4]: Не работает sendRedirect
От: mihhon  
Дата: 19.08.05 13:26
Оценка: 1 (1) +1
сервлет1 -> сервлет2
разница:
— sendRedirect отсылает на клиент код 302 — The requested resource resides temporarily under a different URI — и клиент отсылает новый http запрос на сервер твоему второму сервлету
— forward — эквивалентен вызову метода service() второго сервлета из метода service() первого сервлета на сервере (подробнее читай о том, чем отличается forward от include и обрати внимание на то, что Forward may not be called if data has been sent to the client)

вот неплохой ресурс (sendRedirect, sendError, http codes ... )
http://www.informit.com/articles/article.asp?p=29817&amp;seqNum=7&amp;rl=1
Re: Не работает sendRedirect
От: Аноним  
Дата: 24.07.09 13:06
Оценка:
Здравствуйте, Alexander Karavaev, Вы писали:

AK>Несложное сервлетное веб приложение на джаве. Ничего подобного struts и jsp не используется. В качестве веб сервера используется TomCat. Столкнулись с тем, что не работает sendRedirect. Страница грузится при прямом запросе, а при перенаправлении на нее выдается сообщение об ошибке — The requested URL could not be retrieved

AK>с чем это может быть связано?

проблема в том что вы наверное до этого заполнили информацию до sendRedirect или использовали где то flushBuffer();
ну например вы понаписали out.println();....и вдруг вы решили sendRedirect сделать...
советую делать проверку при начале программы в самом начале
Re[5]: Не работает sendRedirect
От: jalxm Россия  
Дата: 14.08.09 05:58
Оценка:
неправильно объясняешь
вот с баша

Jaxx: начал недавно учить веб-программирование, вот никак не могу понять разницу между редиректом и форвардом
Andronix: вот смотри, представь себе ты вышел к ларьку купить бутылку водки... при этом продавщица сказала тебе, что водка закончилась, и послала тебя в другой киоск — это типа редирект.
Jaxx: ну а форвард?
Andronix: а форвард, это когда продавщица сказала, что щас мол поищет, а сама незаметно вышла из ларька, сбегала через дорогу в соседний киоск, купила там водки, потом так же незаметно вернулась и перепродала тебе эту бутылку еще даже с наценкой

Здравствуйте, mihhon, Вы писали:

M>сервлет1 -> сервлет2

M>разница:
M>- sendRedirect отсылает на клиент код 302 — The requested resource resides temporarily under a different URI — и
... << RSDN@Home 1.1.4 @@subversion >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.