2010-04-22 139 views
3

我的經理要求我爲Web應用程序開發工作建議一個應用程序服務器。爲Web應用程序開發選擇應用程序服務器

有什麼需要,我們選擇用Java J2EE開發Web應用程序開發的任何應用程序服務器之前要考慮的因素是什麼?

如果我選擇一個,現在和未來,我想換到其他的應用服務器,是最小的努力去改變?

回答

3

Apache TomcatJetty是兩個最流行的Web容器。 Tomcat是Java servlet容器的參考實現,Jetty速度更快,更輕量。我個人很喜歡碼頭,但是你們兩個都不會出問題。兩者的一點比較可以發現here

一般的Web容器之間的應用程序的遷移是相當容易的 - 只需要一些配置進行更改,但沒有在源代碼(這並不總是完全成熟的企業應用服務器的情況下)。

+5

Tomcat和Jetty都是servlet容器,與作爲Java EE應用程序容器的JBoss,Glassfish等不同。 – justkt 2010-04-22 17:08:08

+0

我知道,但他沒有具體說明在他的web應用程序中需要什麼 - 也許servlet包含器正是他所需要的......用火箭筒向蒼蠅射擊毫無意義... – 2010-04-22 18:19:00

+5

Tomcat不是自Servlet 2.5以來,Servlet API的RI,GlassFish是RI。 – 2010-04-22 21:44:14

2

答案是,您可以根據您的開發實踐更改應用程序容器或多或少困難。例如,Liferay門戶網站包含許多應用程序容器的自定義XML配置文件,允許它在許多容器上使用。所以,切換是可以靈活進行的,但是您必須重新制作所有特定於服務器的配置文件,而且您不能依賴容器特定的功能。

在某些情況下,容器本身使它很難。例如,JBoss classloader對實際的J2EE和Java EE標準有着很少的支持。這使得依賴非標準功能變得容易,在某些情況下幾乎不可能使用標準功能。

除了確保您的應用程序服務器強制執行標準的符合性,你要確保你需要一個完整的應用服務器,而不是僅僅作爲上述servlet容器。你的應用程序是否需要EJB或servlet?如果您不在進行EJB開發,那麼應用程序服務器就會被徹底殺死。

如果您正在進行EJB開發或以其他方式使用超過servlet容器提供的其他EE功能,請考慮簡化符合標準的配置和管理,我認爲您會找到適合您需求的服務器。

2

寫得很好的Java Web應用程序可以部署在任何Web容器上,可能只需要一點外部配置。

因此,你可以選擇在開發過程中的工作最適合你的人,然後執行目標部署服務器上測試。

對於netbeans,Tomcat是封閉的,並沒有問題。 Eclipse還沒有封閉的Web容器,但支持Tomcat。

在任何情況下,使用其他人使用的一個,然後他們可以幫助你,而你他們。

0

對於純粹開發目的,我想與

  • 佔地面積小,非常小的啓動服務器/停止時間。
  • IDE插件

所以,我的投票去碼頭的Web應用程序。

如果您使用Netbeans,Glassfish不是一個糟糕的選擇,因爲它通過使用NIO的灰熊顯示出極好的性能。

+0

最後一行是無參數。 Glassfish可以和其他IDE一起使用(https://glassfishplugins.dev.java.net/)。 – BalusC 2010-04-22 22:00:13

+0

唯一的一點是對NB和捆綁安裝GF的內置支持。 – 2010-04-22 22:09:29

+0

我同意netbeans/glassfish集成。我已經嘗試了好幾次在香草月食和STS中使用glassfish插件,但是在Netbeans中我沒有取得成功。對於我來說,當我不使用webapp工作時使用eclipse,但如果我在jsps或控制器中工作,那麼在部署到glassfish時必須使用Netbeans。 – digitaljoel 2011-01-12 20:25:40