Я думаю, вам нужна функциональность, предлагаемая RequestDispatcher#forward()
.
Основное различие между forward()
и sendRedirect()
состоит в том, что первый вызовет вызов нового ресурса (сервлета или JSP) на сервере, в то время как sendRedirect()
отправит ответ клиенту, который вызовет его отправить новый запрос на TargetURL
.
Побочные эффекты этого состоят в том, что с sendRedirect()
пользователь увидит изменение адреса, так как клиент был перенаправлен; это не происходит с forward()
, поскольку изменение происходит на сервере, а клиент не участвует. Кроме того, при forward()
вызываемый ресурс получает исходные объекты запроса и ответа, тогда как при sendRedirect()
клиент отправляет новый запрос, поэтому вы теряете возможность обмена данными через атрибуты запроса.