2013-12-23 89 views
10

我正在研究一個新項目,該項目將成爲一個具有前端UI和後端Web服務的Web應用程序。我開始考慮使用像Tomcat/Jetty這樣的服務器,我也注意到這些HTTP服務器有一個嵌入式版本。我不明白何時對獨立版本使用嵌入式版本。我嘗試了谷歌搜索,但無法找到令人信服的答案,所以如果有人向我解釋嵌入式服務器的用例,將不勝感激。提前致謝。嵌入式與獨立式Tomcat(HTTP)服務器

回答

9

我已經使用embedded-jetty作爲網絡應用程序。我使用的原因是我不想爲一個App設置一個單獨的Web服務器。所以我創建了一個簡單的java程序,並在其中嵌入了jetty,並通過java代碼配置了所有服務器屬性。現在,我可以在沒有安裝Web服務器的任何機器上運行此程序,它將充當在服務器中運行的Web應用程序。我可以將任何端口和程序關聯到其中的多對多上下文/ servlet映射。

+0

嗯,嵌入式服務器將是有益的,如果我將在開發階段改變主機。那麼在部署的簡便性和測試變化方面沒有任何區別? – broun

+0

熱插拔可用於嵌入式碼頭這是我已經檢查,但有關其他服務器屬性(這可能我不知道),我沒有檢查它。 – Rizstien

13

當您將應用程序視爲OS進程時,嵌入式服務器很有用,它將以類似於java -jar youapp.jar的內容開始。這裏給出了給定版本的應用服務器的預先設置,可以說Tomcat,沒有必要。這樣的應用程序可以由最終用戶運行,而無需任何其他安裝和配置應用程序服務器。

像詹金斯這樣的應用程序,例如很大程度上受益於這種打包。另一種情況是部署在像Heroku這樣的雲服務上。您將應用程序服務器封裝在您的jar包中,無需安裝在這些雲盒上的服務器。

這裏基本上是單一的網絡應用程序運行在給定的嵌入式服務器上。但是,如果您希望安裝兩個Web應用程序讓我們說兩個上下文${root}/app1${root}/app2然後嵌入式應用程序服務器不適合您。

+1

我的理解是,這是一篇舊文章,但此鏈接可能會幫助其他人,因爲我遇到了同樣的問題 ** [Application Servers - Dead of Dead](http://www.beyondjava.net/blog/application-servers -sort-的死/)** – Sategroup