Получить доступ

Что делает DispatcherServlet в Spring MVC?

JuniorСервлеты и фильтрыSpring
Ещё спрашивают так:
  • Как Spring MVC обрабатывает запрос?
Коротко

DispatcherServlet — единая точка входа (front controller): принимает запрос, через HandlerMapping находит метод контроллера, вызывает его через HandlerAdapter, превращает результат в ответ (HttpMessageConverter или представление), обрабатывает исключения.

  • Interceptor'ы вызываются вокруг обработчика
  • Аргументы метода разбирают argument resolvers (@PathVariable, @RequestBody)
  • Исключения — HandlerExceptionResolver и @ControllerAdvice

А ещё В Spring Boot регистрируется автоматически на "/"

Так подсказку видит пользователь sotto на живом собеседовании — за пару секунд, пока вы думаете вслух.

Подробно

Централизация нужна для того, чтобы общие задачи решались в одном месте: подбор метода контроллера по пути и методу HTTP, преобразование параметров и тела запроса, вызов валидации, обработка исключений, формирование ответа. Через отдельные точки входа это пришлось бы дублировать. До диспетчера запрос успевает пройти цепочку фильтров сервлетного уровня, а после него — перехватчики Spring MVC.

Что хотят услышать

  • Роль front controller.
  • Основные компоненты пути запроса.

Частые ошибки

  • Путать фильтры сервлетов и перехватчики Spring MVC по месту в цепочке.
  • Считать, что диспетчер занимается созданием бинов.

Проверьте себя

Один верный вариант. Подумайте, потом откройте ответ.

Показать варианты и ответ
  • ✓Принимает все входящие запросы и направляет их нужному обработчику, а результат превращает в ответ
  • ✗Устанавливает соединение с базой данных для каждого запроса
  • ✗Управляет жизненным циклом бинов приложения
  • ✗Обрабатывает только статические файлы

Что спросят дальше

  • Чем фильтр отличается от перехватчика?
  • Что происходит с запросом после выбора обработчика?

Разбор темы

Связанные вопросы

Закрытая бета

Подсказки на собеседовании — в реальном времени

sotto слышит вопрос интервьюера и показывает короткий ответ и план, как в блоке «Коротко». Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем