DispatcherServlet и ContextLoaderListener в Spring

DispatcherServlet представляет собой сервлет диспетчера. Он анализирует запросы, направляя их для обработки соответствующему контроллеру. Давайте рассмотрим, что это, немного подробнее. Заодно скажем пару слов и про ContextLoaderListener -- соответствующие знания могут помочь на собеседовании.

Итак, в Spring MVC существует класс DispatcherServlet -- это центральный сервлет, получающий запросы и направляющий их соответствующим контроллерам. При этом в приложении Spring MVC возможно наличие произвольного числа DispatcherServlet-экземпляров, причем предназначены они могут быть для решения различных задач (это может быть обработка запросов пользовательского интерфейса, обработка запросов web-служб REST и так далее).

На деле каждый DispatcherServlet-экземпляр имеет свою конфигурацию WebApplicationContext. Эта конфигурация, в свою очередь, определяет характеристики уровня сервлета. Под характеристиками понимаются контроллеры, поддерживающие сервлет, распознавание представлений, отображение обработчиков, интернационализация, проверка достоверности, оформление темами, преобразование типов, форматирование и так далее.

ContextLoaderListener

Что касается ContextLoaderListener, то это слушатель при старте/завершении корневого класса Spring WebApplicationContext. Главное назначение -- связывание жизненного цикла ServletContext и ApplicationContext, ну и автоматическое создание ApplicationContext. На практике этот класс может использоваться для доступа к бинам из разных контекстов Spring.

Настройка осуществляется в web.xml:

По материалам https://javastudy.ru/.