Ответ
DispatcherServlet — это центральный сервлет-фронт-контроллер в Spring MVC, который обрабатывает все HTTP-запросы и координирует работу других компонентов.
Основные функции:
- Единая точка входа: Принимает все запросы, сопоставляет их с контроллерами на основе
@RequestMapping. - Управление жизненным циклом: Создает и управляет
WebApplicationContext(дочерним для корневого контекста). - Делегирование: Координирует работу компонентов (HandlerMapping, HandlerAdapter, ViewResolver) для обработки запроса и формирования ответа.
- Обработка исключений: Централизованная обработка через
@ControllerAdviceилиHandlerExceptionResolver.
Почему он важен? Он инкапсулирует общую логику маршрутизации, что позволяет разработчикам фокусироваться на бизнес-логике в контроллерах.
Пример конфигурации в web.xml (для Servlet 3.0+ предпочтительнее Java-конфигурация):
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring-mvc-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>