Добавил:
rushevamar@mail.ru Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
РИС шпоры для печати.docx
Скачиваний:
29
Добавлен:
31.05.2022
Размер:
1.01 Mб
Скачать

2. Реализация HandlerMapping по умолчанию

По умолчанию интерфейс HandlerMapping в Spring MVC реализуется классом RequestMappingHandlerMapping. Существуют другие реализации интерфейса, которые используют другие параметры для поиска контроллера, соответствующего запросу.

В Spring MVC вы можете встретить реализацию интерфейса, когда применяете аннотацию @RequestMapping. Например отрывок из Spring MVC – Hello World:

Java

1

2

3

4

5

6

7

@RequestMapping(value = "/", method = RequestMethod.GET)

public ModelAndView main() {

ModelAndView modelAndView = new ModelAndView();

modelAndView.addObject("userJSP", new User());

modelAndView.setViewName("index");

return modelAndView;

}

Для многих задач базовых настроек реализации HandlerMapping вполне достаточно.

45. Spring mvc . Описание, роль и реализация интерфейса ViewResolver. Лиза

Фреймворк Spring MVC обеспечивает архитектуру паттерна Model - View - Controller (Модель – Вид - Контроллер) при помощи слабо связанных готовых компонентов. Паттерн MVC разделяет аспекты приложения (логику ввода, бизнес-логику и логику UI), обеспечивая при этом свободную связь между ними.

- Model (Модель) инкапсулирует (объединяет) данные приложения, в целом они будут состоять из POJO (Plain Old Java Object – традиционные Java-объекты, или бинов).

- View (Отображение, Вид) отвечает за вывод данных пользователю. Обычно это JSP (HTML) файл, который может быть опознан и интерпретирован браузером на пользовательской машине.

- Controller (Контроллер) обрабатывает запрос пользователя, создаёт соответствующую Модель и передаёт её для отображения в Вид.

В основе Spring MVC Framework лежит DispatcherServlet, задача которого – обработка всех HTTP запросов и ответов. Он задаётся аннотацией @Controller и часто используется с аннотацией @RequestMapping, которая указывает какие запросы будут обрабатываться этим контроллером.

ViewResolver — интерфейс, реализуемый объектами, которые способны находить представления View по имени View Name.

Состояние представления не изменяется во время выполнения приложения и поэтому в реализации возможно применять кэширование.

Реализации могут поддерживать интернационализацию, т.е. локализировать представления.

По умолчанию реализацией интерфейса ViewResolver является класс InternalResourceViewResolver.

Если представление найдено, то произойдет переход на эту страницу. В противном случае результат зависит от настроек реализации интерфейса ViewResolver. По умолчанию возвращается null, но можно возвращать имя или исключение, если вам это необходимо.

46. Spring mvc. Взаимодействие контроллера и модели в Spring mvc. Ксюша

Контроллер в Spring MVC выполняет роль контроллера в парадигме программирования Model-View-Controller. Каждый запрос перехватывается глобальным Front-контроллером, который по специфическим параметрам (URI, метод и/или заголовки запроса) определяет, какому из контроллеров передать полученный запрос. Контроллер обрабатывает запрос и создает модель. Front-контроллер заполняет представление данными модели и возвращает полученный результат браузеру. Ниже представлена схема обработки запроса в Spring.