2015-07-30 5 views
2

У меня есть 2 веб-приложения.ли управление возвращается к webapp, который отправил запрос другому webapp?

  1. A.war
  2. B.war

оба были развернуты в одном сервере приложений. Запрос приходит A.war и перенаправляет запрос на B.war через

context.getServletContext("appname of B").getRequestDispatcher("uri").forward(request, response);

раз перенаправляется запрос от A к B, а затем после того, как обработка завершена B, делает управление вернуться к веб-приложение A или веб-приложение B напрямую отправляет запрос клиенту (браузеру)?

Другими словами, это отдельный Thread, который будет выполнен в веб-приложении B в этом случае и отправит ответ непосредственно пользователю?

ответ

3

Как говорится в сообщении forward, когда запрос пользователя перенаправляется на другой webapp/servlet, и элемент, который вызывает метод forward, больше не работает и его поток убит. В обеих ситуациях пересылка на другой сервлет или webapp создает новый поток для обработки запроса.

Чтобы переместить управление обратно в первый сервлет/приложение, вы должны перенаправить свой запрос еще раз.