Используем сервлеты в Eclipse вместе с Maven

На первый взгляд может показаться, что тема этой статьи весьма избитая. Однако использование в Eclipse сервлетов в сочетании с Maven на самом деле имеет целый ряд особенностей. Вследствие чего одновременная работа с этими двумя технологиями требует особого подхода.

Создание проекта

Создание проекта происходит самым обычным способом.

Выбираем тип проекта «Maven Project».

Выбор типа проекта

Затем архетип «maven-archetype-webapp».

Выбор архетипа проекта

Далее вводим информацию о проекте.

Сведения о проекте

После нажатия кнопки «Finish» Eclipse создаст каркас проекта.

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

Подключение зависимости

Первая проблема с которой мы сталкиваемся, это то, что Maven по умолчанию не добавляет класс javax.servlet.http.HttpServlet.

Поэтому прописываем в pom.xml соответствующую зависимость:

Настройка папки сборки

Вторая проблема. В шаблоне Maven для web приложения в Eclipse присутствует всего одна папка с ресурсами «resources».

Папки с исходниками изначально

Если мы откроем свойства проекта, то в разделе «Java Build Path» сразу увидим все ошибки.

Изначальная настройка сборки

Папка «java», которая предназначена для хранения программного кода вообще отсутствует.

Если оставить всё как есть и создать сервлет в папке «resources», он будет неработоспособен и вместо результатов его выполнения сервер вернёт ошибку 404 или 500 (в случае ClassNotFoundException).

Чтобы решить эту проблему создаём в проекте новую папку с ресурсами под названием «java».

Папки с исходника после изменения

Теперь всё наконец-то готово к непосредственной работе с сервлетами.

На всякий случай можно проверить работоспособность.

Создадим в папке «java» новый пакет и добавим в него сервлет. Для проверки вполне достаточно того исходного кода сервлета, который создаст из шаблона Eclipse.

Проект с тестовым сервлетом

Запускаем проект.

Тестовый сервлет

И видим, что всё функционирует нормально.

Можно удалять «тестовый» пакет вместе с сервлетом и приступать к написанию уже рабочего кода.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *