Что такое Сервлет Диспетчера в Spring?

В этом изображении (который я получил отсюда), Запрос HTTP отправляет что-то в Сервлет Диспетчера.

enter image description here

Мой Вопрос - то, что делает Сервлет Диспетчера?

Это - что-то как получение информации, брошенной от веб-страницы и броска его к контроллеру?

176
задан James Dunn 24 December 2014 в 15:21
поделиться

2 ответа

Работа DispatcherServlet заключается в получении входящего URI и поиске правильной комбинации обработчиков (обычно методы классов Controller) и представлений (обычно JSP), которые формируют страницу или ресурс, который должен быть найден в этом месте.

У меня может быть

  • файл /WEB-INF/jsp/pages/Home.jsp
  • и метод на классе

    @RequestMapping(value="/pages/Home.html")
    private ModelMap buildHome() {
     return somestuff;
    }
    

Сервлет Dispatcher - это та часть, которая "знает", что нужно вызвать этот метод, когда браузер запрашивает страницу, и объединить его результаты с соответствующим JSP-файлом для создания html-документа.

Как он это делает, зависит от конфигурации и версии Spring.

Также нет причин, почему конечным результатом должны быть именно веб-страницы. Он может делать то же самое для нахождения RMI конечных точек, обработки SOAP запросов, всего, что может прийти в сервлет.

189
ответ дан 23 November 2019 в 20:23
поделиться

DispatcherServlet - это реализация Spring MVC паттерна front controller.

См. описание в документации Spring здесь.

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

46
ответ дан 23 November 2019 в 20:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: