[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-servlety-kak-iz-odnogo-servleta-vyzvat-drugoy-servlet":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":16,"progress":17,"seo":18},534,"kak-iz-odnogo-servleta-vyzvat-drugoy-servlet",13,"servlety","Сервлеты","🖧","Как из одного сервлета вызвать другой сервлет","Для вызова сервлета в рамках одного приложения используется `RequestDispatcher` с методами `forward()` (делегирование) или `include()` (включение контента). Для вызова сервлета в другом приложении или на другом сервере используется `sendRedirect()`.\n\n| Способ | Когда использовать |\n|--------|-------------------|\n| `RequestDispatcher.forward()` | Передать обработку другому сервлету в том же приложении |\n| `RequestDispatcher.include()` | Включить результат другого сервлета в текущий ответ |\n| `HttpServletResponse.sendRedirect()` | Перенаправить клиента на другой URL (в том числе внешний) |\n\nДля передачи данных между сервлетами в рамках одного запроса используются атрибуты: `request.setAttribute(\"key\", value)` в первом сервлете и `request.getAttribute(\"key\")` во втором. При `sendRedirect()` передать данные можно через query-параметры URL или cookies, так как это новый запрос.\n\n> **На собеседовании:** покажите, что понимаете разницу: `forward()`\u002F`include()` — серверная маршрутизация (один HTTP-запрос), `sendRedirect()` — клиентская (два HTTP-запроса).","","junior",[15],"servlets",[],null,{"title":19,"description":20,"ogTitle":19,"ogDescription":21,"keywords":22,"schemaAnswer":23,"featuredSnippetReady":24},"Как из одного сервлета вызвать другой сервлет — Gymterview","Для вызова сервлета в рамках одного приложения используется `RequestDispatcher` с методами `forward()` (делегирование) или `include()` (включение контента). Для","Для вызова сервлета в рамках одного приложения используется `RequestDispatcher` с методами `forward()` (делегирование) и",[15,13],"Для вызова сервлета в рамках одного приложения используется `RequestDispatcher` с методами `forward()` (делегирование) или `include()` (включение контента). Для вызова сервлета в другом приложении или на другом сервере используется `sendRedirect()`.",true]