Как передать данные при перенаправлении из одного веб-приложения в другое? - PullRequest
2 голосов
/ 20 сентября 2010

У меня есть два веб-приложения, которые развернуты на одном сервере приложений J2EE. Мне нужно перенаправить из одного веб-приложения в другое. Также мне нужно установить некоторую информацию в заголовке из веб-приложения 1, чтобы она была доступна в веб-приложении 2. Когда я пытаюсь получить доступ к информации, которая указана в заголовке Web App1 в Web App2, я получаю «ноль» Я использую response.sendRedirect("http://localhost/webapp2") в веб-приложении 1 для перенаправления. Пожалуйста, помогите мне решить эту проблему.

Спасибо, Приложения.

Ответы [ 3 ]

7 голосов
/ 20 сентября 2010

Перенаправление обрабатывается клиентом (браузером).Таким образом, только клиент получает отправленные вами заголовки.Заголовки не будут переданы в веб-приложение, перенаправленное на.

Вы можете выполнить одно из следующих действий для передачи информации из одного веб-приложения в другое:

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

Полученные клиентом файлы cookie отправляются обратно на сервер.Клиент не знает, что это другое веб-приложение.Вам просто нужно установить путь cookie на /.

Межконтекстное рассогласование выполняется внутренним форвардом в контейнере (используйте RequestDispatcher из ServletContext).Клиент никогда не узнает, запрос обрабатывается другим веб-приложением.Вы можете установить атрибут запроса для передачи данных.Контрастная диспетчеризация должна быть включена контейнером по соображениям безопасности.

1 голос
/ 20 сентября 2010

Вы можете отправить информацию в виде параметров URL.

Перенаправить на http://localhost/webapp2?param1=value1&param2=value2 ....

0 голосов
/ 20 сентября 2010

Один из вариантов - просто передать информацию в виде атрибутов GET в URL, который вы использовали при вызове sendRedirect.

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