Java: Веб-технологии
2026-02-26 18:50 Diff

Цикл «запрос-обработка-ответ» включает множество элементов, которые идентичны для всех сайтов. Поэтому возникли так называемые фреймворки — библиотеки, которые определяют структуру программы. В этом их отличие от обычных библиотек. Благодаря фреймворкам можно сосредоточиться на логике сайта, а не на продумывании базовой архитектуры или разработке вспомогательных инструментов.

Веб-фреймворки подразделяются на две большие группы:

  • Фреймворки
  • Микрофреймворки

Микрофреймворки устроены значительно проще. Они содержат только минимально необходимую обвязку для комфортной работы в архитектуре HTTP — это «запрос-ответ». Они идеально подходят для обучения, потому что просты и не отвлекают от главного.

В Java таким микрофреймворком стал Javalin. В этом уроке мы начнем изучать принципы работы веб-приложений через призму этого микрофреймворка. Изученные здесь концепции одинаково работают во всех остальных фреймворках, включая Spring Boot, который изучается в следующих курсах.

Установка

Для начала создайте Gradle-проект со следующими параметрами:

  • Название — HexletJavalin
  • Группа — org.example
  • Версия — 1.0-SNAPSHOT

Это можно сделать через редактор или с помощью команды gradle init, как показано ниже:

Проверьте, выглядит ли ваш файл build.gradle.kts так же, как в примере ниже:

Добавьте директорию для хранения исходных файлов:

Создайте файл HelloWorld.java со следующим содержимым:

Последний шаг — создайте репозиторий hexlet-javalin на Github и залейте туда код нашего проекта. Он понадобится для экспериментов во время всего курса.

Запуск

Перейдем к запуску — он выполняется командой ./gradlew run. Во время выполнения задачи Gradle скачивает зависимости, компилирует проект и запускает веб-сервер, встроенный в Javalin:

По умолчанию сервер стартует на http://localhost:7070. Если открыть адрес в браузере, появится надпись Hello World. Одновременно с этим, веб-сервер выведет такие строки в том месте, где мы его запустили:

Этот вывод называется логом. Он помогает понять, как браузер взаимодействует с веб-сервером. На каждый запрос в логе появляются новые строчки, которые показывают:

  • Какой запрос пришел на сервер
  • Что сервер сделал в ответ на запрос
  • Чтобы было в полученном запросе (метод, адрес, параметры, заголовки, тело)
  • Есть ли в коде ошибки, из-за которых возникают исключения

В будущем мы не раз будем обращаться к логу для отладки.

Теперь вы умеете запускать веб-сервер Javalin. Чтобы остановить его, можно воспользоваться командой Ctrl-C.

Внесение изменений

Когда веб-сервер запускается, исходный код компилируется и загружается в память. Любые дальнейшие изменения в коде никак не повлияют на запущенное приложение. Это создает неудобства во время разработки — приходится перезапускать сервер каждый раз, когда мы хотим проверить результат изменений. Но для наших задач это не проблема.