Я работаю над новым проектом, который будет веб-приложением с интерфейсом пользовательского интерфейса и веб-службой на задней панели. Я начал изучать, какие серверы использовать как Tomcat/Jetty, и так.. Я также заметил, что есть встроенная версия этих HTTP-серверов. Я не понимаю, когда использовать встроенную версию для автономной версии. Я попробовал поиск по Google, но не смог найти убедительного ответа. Так что, если кто-нибудь объяснит мне прецедент для встроенного сервера. Спасибо заранее.
Встроенный vs Автономный сервер Tomcat (HTTP)
Ответ 1
Встроенные серверы полезны, когда вы смотрите на свое приложение как на процесс ОС, и он будет запущен с чем-то вроде java -jar youapp.jar
. Здесь настройка окна с данной версией сервера приложений, скажем, Tomcat, не требуется. Такие приложения могут запускаться конечным пользователем без какой-либо другой установки и настройки сервера приложений.
Такие приложения, как Jenkins, например, очень выигрывают от такой упаковки. Другим сценарием является развертывание на облачных сервисах, таких как Heroku. Вы завершаете сервер приложений в своем банке, чтобы избежать необходимости устанавливать сервер в таких облачных ящиках.
Здесь на данном встроенном сервере работает одно веб-приложение. Однако, если вы хотите установить два веб-приложения, скажем, два контекста ${root}/app1
${root}/app2
, тогда встроенный сервер приложений не подходит для вас.
Ответ 2
Я использовал embedded-jetty
для веб-приложения. Причина, по которой я использовал, заключалась в том, что я не хотел настраивать отдельный веб-сервер только для одного приложения. Поэтому я создал простую java-программу с вложением в нее приставок и сконфигурировал все свойства сервера с помощью java-кода. Теперь я могу запустить эту программу на любом компьютере без установленного веб-сервера, и он будет действовать как веб-приложение, работающее на сервере. Я могу связать любой порт и отобразить в нем много-много контекст/сервлетов.