Карта / Spring MVC / REST / DispatcherServlet

DispatcherServlet

DispatcherServlet — единая входная точка для всех HTTP-запросов в Spring MVC, “диспетчер”, который решает, какой контроллер и метод должны обработать запрос.

HTTP-запрос DispatcherServlet UserController

Все запросы сначала попадают в DispatcherServlet — это часть инфраструктуры, которую Spring Boot настраивает автоматически, разработчику не нужно настраивать вручную.

Копнуть глубже

Полный путь запроса через DispatcherServlet:

  1. Запрос приходит на DispatcherServlet;
  2. Он спрашивает HandlerMapping — какой метод какого контроллера соответствует этому URL и HTTP-методу (на основе @GetMapping/@PostMapping и т.д., см. тему «@RestController»);
  3. Вызывает найденный метод контроллера;
  4. Результат проходит через HandlerAdapter, который сериализует его в JSON (или, в классическом MVC, передаёт на отрисовку шаблона);
  5. Отправляет готовый HTTP-ответ обратно клиенту.

Зачем нужен этот единый “диспетчер”, а не прямой вызов метода. Централизация даёт единое место для сквозной логики: обработку исключений (@RestControllerAdvice), фильтры безопасности (filter chain — см. тему «Filter chain»), логирование запросов — всё это включается до того, как запрос дойдёт до конкретного метода контроллера, и работает одинаково для всех эндпоинтов сразу.

🎤 Закрыл тему, если можешь объяснить:
• роль DispatcherServlet как единой точки входа;
• полный путь запроса от HTTP до ответа клиенту (если дошёл до 2-го слоя).