Gymterview
junior

Взаимодействие JSP - сервлет - JSP

Архитектура «JSP - сервлет - JSP» реализует паттерн MVC (Model-View-Controller), где каждый компонент имеет чётко определённую роль.

Компонент MVC Реализация Ответственность
Model Java-классы (POJO, сервисы) Бизнес-логика и данные
View JSP-страницы Отображение данных пользователю
Controller Сервлеты Обработка запросов, координация Model и View

Типичный поток

  1. Клиент отправляет запрос на сервлет-контроллер
  2. Сервлет обрабатывает запрос, вызывает бизнес-логику (Model)
  3. Сервлет помещает результат в атрибуты запроса: request.setAttribute("data", result)
  4. Сервлет перенаправляет на JSP: request.getRequestDispatcher("/WEB-INF/view.jsp").forward(req, resp)
  5. JSP отображает данные из атрибутов: ${data}

Этот паттерн является основой Spring MVC, где роль контроллера выполняют классы с @Controller, а роль View — шаблоны Thymeleaf или (реже) JSP.

На собеседовании: важно связать с Spring MVC. DispatcherServlet — это единый контроллер, @Controller — обработчик конкретного URL, а ViewResolver определяет, какой шаблон использовать для отображения.