Допустим мне нужно запустить простенький сервер, который бы обрабатывал пару ендпоинтов поверх Http.
Немного слышал про сервлеты, но загуглив "java simple http server" я увидел HttpServer как решение.
А в чем в общем-то разница, ведь получается они тоже самое и делают.
Возможно это просто другая либа, и можно было бы вообще реализовать свой парсер Http на Tcp-сокетах, но все же, хотел бы разобраться в чем смысл сервлетов?
pogromist, сервлет скорее интерфейс, спецификация.
Я так понимаю, что под HttpServer вы имеете ввиду com.sun.net.httpserver.HttpServer.
Так вот этот HttpServer довольно таки самодостаточный (как и другие http серверы в широком смысле), а сервлету нужен какой-то Контейнер сервлетов
Сервлет это Java-аналог cgi-скрипта. Сервлет - архаизм. Древний и достаточно бесполезный. Хотя в стеке технологий веба вы еще часто можете его видеть везде где есть такие контейнеры как JBoss, Tomcat, Web-Sphere. Все они понимают сервлет как актор который может обслуживать GET/POST/PUT запросы и что-то возвращать.
В современных технологиях шаблонизаторов сервлет уже является ненужным звеном и его можно выбросить. Для асинхронного веб-сервера netty ЕМНИП сервлет тоже не нужен.
VolgaVolga, надо посмотреть. Создайте exception в работе любого контроллера и посмотрите что в стеке. И по dependency надо глянуть. Я лет 5 со Spring уже не работал. Не знаю как оно щас. Но Tomcat уже вроде не обязателен. Это хорошо.