我正在考慮使用「light」組件而不是完整的堆棧框架開發新的Web應用程序。使用Guice-servlet/Jetty/Jersey的輕型Java web堆棧 - 一些問題
This article是我的主要靈感!
Jetty:Web服務器。我可能會使用一個可嵌入的版本進行開發,但可以選擇將應用程序導出爲.war,並將外部Jetty服務器用於生產環境。
Guice/Guice-Servlet:用於依賴注入和servlet映射+過濾器。
Jersey:用於路由請求/響應json(de)序列化。
的重要說明:我知道有些人會用這種棧中的新澤西州爲Web服務層只,並會使用JavaScript框架(骨幹,AngularJS等)使用這些服務和在JavaScript中執行大部分表示邏輯。我還沒有準備好這種客戶端的東西。我仍然樂於使用JSP,並且能夠將純HTML發送給JavaScript禁用的客戶端。
所以,我的問題:
什麼是使用澤西管理形式的最佳方式?使用Spring MVC(我在其他項目中使用過),有這種「支持對象」的概念,其中提交的POST數據自動綁定到後臺對象,然後便於使用。澤西島有沒有類似的東西?
我喜歡一個具體路線來定義我的所有路由文件,不是到處爲@Path註釋這是,在我看來,更難管理。我很確定Jersey需要使用這些硬編碼的JAX-RS的@Path註釋,並且不允許外部路由配置系統,這是否正確?你有沒有看到我可以用Jersey將所有路線集中起來?
我喜歡的概念,反向路由(就像Play框架提供的一樣)。而且,我認爲澤西不能提供這種功能,這是否正確?
考慮到我以前的問題,也許澤西島不是正確的技術使用?你知道其他庫可以用於我的堆棧中的路由部分嗎?
這種輕型Java Web堆棧的任何其他建議/提示?
UPDATE:
我目前看UrlRewriteFilter的路由部分。
我也在看看ActiveWeb framework,這是一個「全棧」框架,但似乎很輕,也似乎提供了我正在尋找的一些功能:集中路由配置和反向路由。
您可能會發現DropWizard很有趣:http://dropwizard.codahale.com/getting-started/ –
是的,我見過(並且收藏了!)DropWizard,確實很有趣。這幾乎是我想要使用的那種堆棧。但是我在這裏問的問題仍然有效,有或沒有DropWizard!此外,DropWizard似乎並沒有整合一個依賴注入庫(我發現有一個[Guice附加](https://github.com/jaredstehler/dropwizard-guice))? – electrotype
你爲什麼需要Guice? Servlet 3.0不夠嗎? – keuleJ