Короче, Oracle и поглощенная ей Sun написали кучу стандартов, типа javax.ws, javax.servlet, в которых грубо говоря описывается какие методы в твоём приложении вызывать если пришел, допустим HTTP GET на адрес
localhost/loli. Эти стандарты реализуются разными чуваками, которые плод своих творений называют Серверами Приложений(пример -> Glassfish, Jetty, Tomcat, Wildfly и другие) И в итоге ты просто имплементишь интерфейсы этих стандартов в своем проекте, собираешь код в .war архив и загружаешь его на заранее установленный сервер(установка тривиальна - скачать и распаковать архив + запустить пару консольных команд) и все, у тебя готовый и рабочий бэкэнд