Как переслать запрос с web1 / servlet на web2 / servlet? - PullRequest
6 голосов
/ 03 февраля 2011

У меня есть два веб-приложения, скажем, web1 и web2.Я хочу переслать запрос от web1 / servlet1 на web2 / servlet2.Является ли это возможным?Пожалуйста, помогите!

1 Ответ

9 голосов
/ 03 февраля 2011

Это двухэтапный процесс:

  1. Получите ServletContext, представляющий web2
  2. Получите RequestDispatcher из этого ServletContext, соответствующего servlet2

Итак, как-то так изнутри servlet1:

ServletContext web1 = getServletContext();
ServletContext web2 = web1.getContext("/web2");
RequestDispatcher dispatcher = web2.getRequestDispatcher("/servlet2");
dispatcher.forward(request, response);

Существует большое предостережение во всем этом - контейнер не может быть настроен для разрешения пересылки из контекста, поскольку это потенциальная угроза безопасности. Если это так, getContext("web2") вернет null.

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