2013-12-23 5 views
10

Я работаю над новым проектом, который будет представлять собой веб-приложение с интерфейсом пользовательского интерфейса и веб-службой на задней панели. Я начал изучать, какие серверы использовать как Tomcat/Jetty, и так .. Я также заметил, что есть встроенная версия этих HTTP-серверов. Я не понимаю, когда использовать встроенную версию для автономной версии. Я попробовал поиск по Google, но не смог найти убедительного ответа. Так что, если кто-нибудь объяснит мне прецедент для встроенного сервера. Заранее спасибо.Встраиваемый vs Автономный сервер Tomcat (HTTP)

ответ

9

Я использовал embedded-jetty для веб-приложения. Причина, по которой я использовал, заключалась в том, что я не хотел настраивать отдельный веб-сервер только для одного приложения. Поэтому я создал простую java-программу с вложением в нее приставок и сконфигурировал все свойства сервера с помощью java-кода. Теперь я могу запустить эту программу на любом компьютере без установленного веб-сервера, и он будет действовать как веб-приложение, работающее на сервере. Я могу связать любой порт и отобразить в нем много-много контекст/сервлетов.

+0

Хм, встроенные серверы были бы полезны, если я буду менять хост, как на этапе разработки. Таким образом, нет никакой разницы в простоте развертывания и тестировании изменений? – broun

+0

Горячая замена доступна в embedded-jetty, это то, что я проверил, но о других свойствах сервера (которые, возможно, я даже не знаю), я его не проверял. – Rizstien

13

Встроенные серверы полезны, когда вы смотрите на свое приложение как процесс ОС, и оно будет запущено с чего-то вроде java -jar youapp.jar. Здесь настройка окна с данной версией сервера приложений, скажем, Tomcat, не требуется. Такие приложения могут запускаться конечным пользователем без какой-либо другой установки и настройки сервера приложений.

Такие приложения, как Jenkins, например, пользуются огромной выгодой от такой упаковки. Другим сценарием является развертывание на облачных сервисах, таких как Heroku. Вы завершаете сервер приложений в своем банке, чтобы избежать необходимости устанавливать сервер в таких облачных ящиках.

Здесь, по существу, одно веб-приложение работает на данном встроенном сервере. Однако, если вы хотите установить два веб-приложения, скажем, два контекста: ${root}/app1${root}/app2, тогда встроенный сервер приложений не подходит для вас.

+1

Я понимаю, это старая статья, но эта ссылка может помочь другим, поскольку я столкнулся с одним и тем же вопросом. ** [Серверы приложений - вид мертвых] (http://www.beyondjava.net/blog/application-servers -sort-из-мертвых /) ** – Sategroup