Gymterview
junior

Зачем нужен JSP

JSP решает проблему создания динамических HTML-страниц без написания громоздкого Java-кода в сервлетах. В чистом сервлете генерация HTML выполняется через response.getWriter().println("<html>..."), что делает код нечитаемым и подверженным ошибкам.

Преимущества JSP

  • Разделение ответственности — HTML-разметка отделена от Java-логики (в идеале через EL и JSTL)
  • Горячее развёртывание — изменённую JSP-страницу можно заменить без перекомпиляции проекта и перезапуска сервера
  • Удобство для верстальщиков — JSP выглядит как HTML с вставками, что проще для фронтенд-разработчиков

Ограничения JSP

  • Бизнес-логика должна быть в сервлетах/сервисах, а не в JSP
  • JSP не поддерживается в executable JAR (Spring Boot)
  • Смешивание Java-кода и HTML приводит к трудноподдерживаемому коду
  • Нет поддержки современных frontend-паттернов (SPA, компонентный подход)

В паттерне MVC JSP играет роль View (представления): контроллер-сервлет обрабатывает запрос, формирует данные модели и передаёт их в JSP для отображения.

На собеседовании: покажите, что понимаете роль JSP в MVC и почему в 2026 году Thymeleaf или React предпочтительнее. JSP — это серверный рендеринг без возможности SPA.