Как лучше переходить от сервлета к сервлету - через forward(...) или через sendRedirect(...)?

forward дает нам возможность сохранять данные request и response, чтобы использовать их в дальнейшем. Это же можно сделать, использовав контейнер Сессии(HTTPSession) в случае sendRedirect, хоть это наложит на нас обязанность передать все нужные атрибуты и параметры, что делает программу более жесткой. Но дело в том, что если request передан через Post, то, когда мы перекинем пользователя через forward на другой сервлет, этот сервлет будет думать, что он получил запрос метода Post. Это проблема, но она решается введением атрибута isGet(если знаете способ поменять поле метода запроса - скажите, я такой информацией не обладаю), который будет проверяться в service(которой, к сожалению, придется переписать) или в начале метода doPost(что, в свою очередь, похоже на костыль, лучше, все-таки, через service).
Правильно ли я рассуждаю, может, есть какие-то иные пути? Действительно ли возможно полностью заменить forward sendRedirect'ом? Какой способ использовать при необходимости отправки информации из Post одного сервлета в Get другого?


Ответы (0 шт):