Используем сервлеты в 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 не будет опубликован. Обязательные поля помечены *

Adblock
detector