Вопрос с собеседования · Spring

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

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

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

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

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

Подробно

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

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

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

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

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

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

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

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

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

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

Разбор темы

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

Партнёр платформы

Разбор собеседования с sotto

После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.

Разбор собеседования