Как перенаправить HTTPRequest из одного класса контроллера в другой класс контроллера? - PullRequest
0 голосов
/ 07 февраля 2012

у меня два контроллера.Один - главный контроллер, а другой - промежуточный контроллер.В промежуточном контроллере я должен добавить заголовок в HTTPRequest.После добавления я должен перенаправить его на главный контроллер, где я должен проверить заголовок, который я добавил.Как я могу это сделать?Может ли кто-нибудь помочь мне в этом? PLS ........

Ответы [ 3 ]

1 голос
/ 07 февраля 2012

Похоже, хорошее место для использования Servlet Filter . Если вы хотите предварительно обработать входящий запрос, вы можете сделать это с помощью фильтров сервлета, а затем просто связать его с соответствующим сервлетом.

Подробнее см. Ответ BalusC .

Если это не так, вы можете просто переслать запрос, например:

        request.getRequestDispatcher("/yourServlet").forward(request, response); // forward to the main servlet
0 голосов
/ 07 февраля 2012

Я думаю, вам нужно перенаправить запрос, а не перенаправлять.

RequestDispatcher dispatcher= request.getRequestDispatcher("servlet-mapped-url");
dispatcher.forward(request, response);
0 голосов
/ 07 февраля 2012

Переадресация пересылки

getServletContext().getRequestDispatcher().forward("second page");

Переадресация запроса выполняется сервлетом JSF Controller внутри другого ресурса.Браузер не знает о том, что произошло на стороне сервера в веб-контейнере.Таким образом, он все еще думает, что стремится к исходному запросу, и отображает исходный URL в своей адресной строке.Однако содержимое страницы отображается со второй страницы.

Переадресация отправки

response.sendRedirect("second page");

В этом случае сервлет контроллера JSF инструктирует браузер клиента (через заголовок ответа HTTP) выбрать другуюURL.Таким образом, браузер выбирает совершенно новый URL и отображает второй URL в своей адресной строке.Это может привести к небольшой задержке производительности

с здесь

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