2010-09-20 4 views
2

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

Thanks, Apps.

+0

IMHO, это невозможно – chedine

ответ

7

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

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

  • передачи данных в качестве параметра запроса
  • отправить данные в виде печенья без ограничения пробега
  • использования кросс контекст диспетчерского

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

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

+0

Я использую WebSphere Application Server. Я не нашел много информации о перекрестном диспетчеризации. Есть что-то, что называется Remote Request Dispatching. Но для этого требуется версия сетевого развертывания WAS. Возможно ли это сделать в двух веб-приложениях, развернутых в одном контейнере? Не могли бы вы сообщить мне настройки, которые необходимо выполнить? – Apps

+0

Я не консультант IBM, но он должен работать. Не знаю, что такое настройка по умолчанию, но я нашел что-то на страницах IBM: http://publib.boulder.ibm.com/wasce/V2.0.0/en/container-specific-web-application-settings.html –

1

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

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

+0

Мне нужно установить информацию в заголовке. Это связано с тем, что веб-приложение 2, развернутое на сервере Production, получает информацию из заголовка (это устанавливается внешним менеджером безопасности). Нам нужно использовать веб-приложение 2 без изменения существующего кода. – Apps

0

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

 Смежные вопросы

  • Нет связанных вопросов^_^