[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-servlety-chto-takoe-request-dispatcher":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},533,"chto-takoe-request-dispatcher",13,"servlety","Сервлеты","🖧","Что такое Request Dispatcher","`RequestDispatcher` — это интерфейс для передачи запроса другому ресурсу (сервлету, JSP или HTML-файлу) на стороне сервера. Он позволяет организовать внутреннюю маршрутизацию запросов между компонентами веб-приложения без участия клиента.\n\n### Два метода\n\n| Метод | Поведение |\n|-------|----------|\n| `forward(request, response)` | Полностью передаёт обработку запроса другому ресурсу. Клиент не знает о перенаправлении, URL в браузере не меняется |\n| `include(request, response)` | Включает содержимое другого ресурса в текущий ответ. Полезно для составления ответа из нескольких компонентов |\n\nПолучить `RequestDispatcher` можно через `ServletContext`:\n\n```java\nRequestDispatcher rd = getServletContext().getRequestDispatcher(\"\u002Fother\");\nrd.forward(request, response);\n```\n\nПуть, начинающийся с `\u002F`, интерпретируется относительно корня контекста приложения. `RequestDispatcher` работает только в пределах одного веб-приложения — для перенаправления на внешний ресурс используется `sendRedirect()`.\n\n> **На собеседовании:** важно различать `forward()` и `include()`. `forward()` полностью делегирует ответ, `include()` добавляет контент к текущему ответу. В Spring MVC аналог `forward()` — это `return \"forward:\u002Fpath\"`.","","junior",[15],"servlets",[],null,{"title":19,"description":20,"ogTitle":19,"ogDescription":21,"keywords":22,"schemaAnswer":23,"featuredSnippetReady":24},"Что такое Request Dispatcher — Gymterview","`RequestDispatcher` — это интерфейс для передачи запроса другому ресурсу (сервлету, JSP или HTML-файлу) на стороне сервера. Он позволяет организовать внутреннюю","`RequestDispatcher` — это интерфейс для передачи запроса другому ресурсу (сервлету, JSP или HTML-файлу) на стороне серве",[15,13],"`RequestDispatcher` — это интерфейс для передачи запроса другому ресурсу (сервлету, JSP или HTML-файлу) на стороне сервера. Он позволяет организовать внутреннюю маршрутизацию запросов между компонентами веб-приложения без участия клиента.",true]