Зачем нужен maven, когда работаем с сервлетами?
Кажется это вопрос из разряда: нужна ли мне IDE для написания кода... Можно ведь писать и в простом текстовом редакторе, совсем без IDE. С другой стороны с IDE, все же удобнее.... Тоже самое и с maven'ом или его аналогом gradle.
Можно и в ручную весь проект собирать, но Maven позволяет это делать удобнее, быстрее. Укажешь какую-то зависимость (библиотеку) в pom файле, и она тебе сама закачается, перед билдом автоматом прогонятся тесты, проект соберется в нужном тебе виде (jar, war...) и в нужную тебе директорию с нужным именем... и многое другое (можно например обфускацию кода прикрутить или еще что-нибудь). И все это нажатием одной кнопочки. Удобно.
В отношении сервлетов. Вот у тебя проект, ты хочешь проверять в процессе разработки, как он работает... при этом тебе важно чтобы все происходило автоматически. Ты на кнопку нажал, а там все запустилось и тебе показало прямо в браузере... Для этого тебе нужно проект собрать в фаил *.war (вот Maven этот war тебе и соберет как раз)... потом IDE его подхватит и задеплоит в Tomcat, который сама для тебя запустит.
Вообще, есть хорошее видео у Немчинского, в котором роль и возможности Maven подробно объясняются https://www.youtube.com/watch?v=IAbZVA4tK6M
Ну как бэ: для собственно написания сервлетов maven вроде как не обязателен.
Для написания сервлетов точно нужна библиотека, а вот как прикрутить библиотеку к исходникам - тут начинается и самое интересное. Вариантов тьма:
CLASSPATH
или к IDEДальше начинается другая история деплоймента (разворачивания) сервлета в контейнере. Тоже вариантов много:
Как то так.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Как в Java преобразовать Date в Long, если Date до 1970 года?