Как сделать QueryString невидимым в AddressBar с помощью SendRedirect () - PullRequest
0 голосов
/ 15 февраля 2011

Я вызываю страницу JSP как TargetURL из моего сервлета, используя sendRedirect(), как показано ниже:

response.sendRedirect(TargetURL);

Сейчас 1.) Я хочу, чтобы строка запроса была НЕВИДИМОЙв адресной строке.2.) И мой контроль не идет к TargetPage (JSP-страница в моем случае), когда я использую response.sendRedirect (response.encodeRedirectURL (TargetURL));; 1007 *

Любые предложения с фрагментами кода будут действительно оценены.

1 Ответ

0 голосов
/ 24 февраля 2011

Я думаю, вам нужна функциональность, предлагаемая RequestDispatcher#forward().

Основное различие между forward() и sendRedirect() состоит в том, что первый вызовет вызов нового ресурса (сервлета или JSP) на сервере, в то время как sendRedirect() отправит ответ клиенту, который вызовет его отправить новый запрос на TargetURL.

Побочные эффекты этого состоят в том, что с sendRedirect() пользователь увидит изменение адреса, так как клиент был перенаправлен; это не происходит с forward(), поскольку изменение происходит на сервере, а клиент не участвует. Кроме того, при forward() вызываемый ресурс получает исходные объекты запроса и ответа, тогда как при sendRedirect() клиент отправляет новый запрос, поэтому вы теряете возможность обмена данными через атрибуты запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...