Контроллер
Компонент, который принимает запросы от пользователя, обрабатывает их и возвращает ответ.
Контроллеры определяют логику обработки запросов и связывают представления с моделями данных.
Обозначаются аннотацией @Controller (или @RestController для REST-приложений).
Реализуют обработку запросов, используя аннотацию @RequestMapping или другие аннотации для указания, какие URL-адреса они обрабатывают.
Основные функции контроллера
Аннотации контроллера
@Controller — обозначает класс как контроллер для обработки веб-запросов.
@RequestMapping — указывает URL-адрес для обработки на уровне класса или метода.
@GetMapping, @PostMapping, @PutMapping, @DeleteMapping — специфичные аннотации для HTTP-методов, удобные для определения методов контроллера.
@RequestParam — привязывает параметры из URL к параметрам метода.
@PathVariable — привязывает переменные из части URL к параметрам метода.
@ModelAttribute — связывает объекты модели с параметрами запроса.
@ResponseBody — указывает, что возвращаемый объект должен быть записан прямо в HTTP-ответ (для REST-контроллеров).
и др.
Как работает контроллер
Когда клиент делает запрос к серверу, Spring ищет соответствующий контроллер, который будет обрабатывать данный запрос.
Как только подходящий контроллер найден, вызывается его метод, и данные передаются через модель в представление или возвращаются в виде JSON/XML.
Представление
Это компонент, отвечающий за отображение данных пользователю.
В архитектуре MVC (Model-View-Controller) представление (View) получает данные от контроллера и форматирует их для отображения в удобном для пользователя виде.
Представление фокусируется только на визуализации данных и не содержит бизнес-логики.
Основные задачи представления
Как Spring MVC работает с представлениями
Модель данных
Это основа, которая хранит, управляет и обеспечивает целостность данных приложения.
В архитектуре MVC (Model-View-Controller) модель (Model) — это компонент, который отвечает за хранение и управление данными, а также за бизнес-логику, связанную с этими данными.
В архитектуре MVC модель изолирует бизнес-логику и правила от логики интерфейса и представления, что делает код более гибким и простым для сопровождения.
В Spring модель данных часто представлена сущностями для базы данных, классами DTO для передачи данных и логикой, управляющей этими данными через контроллеры и сервисы.
Основные функции модели данных
Взаимодействие модели с другими компонентами