Баннер мобильный (1) Пройти тест

Jetty

Глоссарий

1 марта 2024

Поделиться

Скопировано

Содержание

    Jetty — это веб-сервер и контейнер сервлетов (программных компонентов, расширяющих функциональность веб-сервера). Его можно использовать в качестве простого локального HTTP-сервера, который способен выполнять приложения на Java. Часто Jetty применяют в связке с веб-серверами Apache HTTP-сервером или Nginx, которые по умолчанию не могут запускать Java-приложения. Кроме того, Jetty встраивают в Java-приложения, если им нужна серверная функциональность.

    Развертывание веб-приложений с помощью Jetty

    Где и почему используется Jetty

    Jetty используется как на стадии разработки, так и в продакшене (готовых, работающих приложениях). Он работает на мобильных платформах, легко встраивается в облачные сервисы, фреймворки, серверы приложений и среды разработки. Например, Jetty используется в следующих решениях:

    • распределенных SQL-обработчиках запросов для больших данных, таких как Facebook Presto*;
    • облачных вычислениях Google AppEngine;
    • сервисе для совместной работы Zimbra;
    • фреймворке Google Web Toolkit;
    • масштабном портале Yahoo!;
    • операционной системе для мобильных устройств Android;
    • интегрированных средах разработки программного обеспечения Eclipse IDE, IntelliJ IDEA;
    • серверах приложений — например, Apache Geronimo. 

    Jetty популярен из-за широкой функциональности. Также его отличают:

    • гибкость и компактность;
    • легкое масштабирование;
    • встраивание в любые приложения;
    • поддержка асинхронной обработки данных.

    Кроме того, Jetty бесплатен для коммерческого использования и имеет открытый исходный код.

    Выбор версии и запуск Jetty

    Для запуска Jetty независимо от среды разработки или системы сборки требуется скачать архив с нужной версией программы. Установочные файлы доступны на официальном сайте и в репозитории Maven Central. Самая свежая версия Jetty на сегодняшний день — 11. Кроме последних версий протоколов HTTP/1.1, HTTP/2, WebSocket и FastCGI в релизе добавлена поддержка JakartaEE Namespace. Эта технология позволяет приложениям «общаться» с платформой.

    После скачивания необходимо распаковать архив и запустить файл .jar с помощью команды:

    java -jar start.jar

    После этого сервер Jetty будет доступен по адресу http://localhost:8080/. Для его остановки нужно нажать комбинацию Ctrl+C.

    Подключение плагина Jetty в Maven

    Плагин Jetty используют в Maven для быстрой разработки и тестирования. По желанию он может периодически сканировать проект на предмет изменений и автоматически развертывать веб-контейнеры, если они обнаружены. Это делает цикл разработки более продуктивным, устраняя этапы сборки и развертывания: программист использует IDE для внесения изменений в проект, а запущенный веб-контейнер автоматически подхватывает их, позволяя разработчику сразу же их протестировать.

    С 10-й версии режимы развертывания применяются одинаково для всех команд, а параметры конфигурации упрощены. Теперь у плагина стало только 4 команды запуска:

    jetty:run

    jetty:run-war

    jetty:start

    jetty:start-war

    Для подключения плагина Jetty к системе Maven необходимо добавить описание jetty-maven-plugin в файл pom.xml:<plugin> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>{VERSION}</version> </plugin>

    Находясь в той же директории, где располагается файл pom.xml, выполнить команду:

    mvn jetty:run

    Сервер будет доступен по адресу http://localhost:8080/. По умолчанию Jetty не сканирует веб-приложение на предмет изменений. Чтобы начать автоматическое сканирование, нужно установить ненулевое значение параметра <scan>.

    Jetty — гибкий и многофункциональный сервер, который можно использовать на всех этапах жизненного цикла приложения — от разработки и тестирования до развертывания и работы в продакшн-режиме. 

    * Принадлежит компании Meta, деятельность которой признана экстремистской в России.

    Поделиться

    Скопировано

    0 комментариев

    Комментарии