DispatcherServlet
DispatcherServlet — единая входная точка для всех HTTP-запросов в Spring MVC, “диспетчер”, который решает, какой контроллер и метод должны обработать запрос.
Все запросы сначала попадают в DispatcherServlet — это часть инфраструктуры, которую Spring Boot настраивает автоматически, разработчику не нужно настраивать вручную.
Копнуть глубже
Полный путь запроса через DispatcherServlet:
- Запрос приходит на
DispatcherServlet; - Он спрашивает
HandlerMapping— какой метод какого контроллера соответствует этому URL и HTTP-методу (на основе@GetMapping/@PostMappingи т.д., см. тему «@RestController»); - Вызывает найденный метод контроллера;
- Результат проходит через
HandlerAdapter, который сериализует его в JSON (или, в классическом MVC, передаёт на отрисовку шаблона); - Отправляет готовый HTTP-ответ обратно клиенту.
Зачем нужен этот единый “диспетчер”, а не прямой вызов метода. Централизация даёт единое место для сквозной логики: обработку исключений (@RestControllerAdvice), фильтры безопасности (filter chain — см. тему «Filter chain»), логирование запросов — всё это включается до того, как запрос дойдёт до конкретного метода контроллера, и работает одинаково для всех эндпоинтов сразу.
🎤 Закрыл тему, если можешь объяснить:
• роль DispatcherServlet как единой точки входа;
• полный путь запроса от HTTP до ответа клиенту (если дошёл до 2-го слоя).
• полный путь запроса от HTTP до ответа клиенту (если дошёл до 2-го слоя).