JSP
JSP (JavaServer Pages) — старый способ генерировать HTML-страницы прямо на сервере, смешивая HTML-разметку с Java-кодом в одном файле.
<html>
<body>
<h1>Привет, <%= request.getParameter("name") %>!</h1>
<% if (user.isAdmin()) { %>
<p>У вас права администратора</p>
<% } %>
</body>
</html>
<%= ... %> — вставить значение в HTML, <% ... %> — выполнить произвольный Java-код прямо внутри страницы.
Копнуть глубже
Под капотом JSP-файл компилируется в обычный сервлет при первом обращении — Tomcat генерирует Java-класс из .jsp-файла, компилирует его и дальше работает с ним как с обычным сервлетом (см. тему «Сервлеты»).
Почему JSP считается устаревшим подходом сегодня:
- Смешение логики и разметки — Java-код прямо в HTML усложняет чтение и тестирование, нарушает разделение ответственности (см. тему «S — единственная ответственность»);
- Серверная отрисовка целых страниц уступила место подходу, где сервер отдаёт только данные (JSON через REST API), а отрисовкой занимается отдельное фронтенд-приложение (React, Vue, Angular) — это и есть переход, который произошёл в Java-вебе за последнее десятилетие;
- Spring сегодня в основном используют как backend для API, а не для генерации HTML-страниц напрямую.
Где JSP всё ещё встречается. В legacy-системах, написанных 10-15 лет назад и до сих пор поддерживаемых — знание JSP полезно именно для работы с таким унаследованным кодом, а не для новых проектов.
🎤 Закрыл тему, если можешь объяснить:
• что такое JSP и как смешивается Java-код с HTML;
• почему JSP считается устаревшим и где он ещё встречается (если дошёл до 2-го слоя).
• почему JSP считается устаревшим и где он ещё встречается (если дошёл до 2-го слоя).