选择用于Web应用程序开发的应用程序服务器

我的经理让我建议一个用于Web应用程序开发工作的应用程序服务器。

在为Java J2EE开发选择任何应用程序服务器进行Web应用程序开发之前,需要考虑哪些因素?

如果我现在选择一个并且在未来我想要更改到其他应用服务器,那么改变的最小努力是什么?

Apache Tomcat和Jetty是两个最受欢迎的Web容器。 Tomcat是Java servlet容器的参考实现,Jetty更快,更轻量级。 我个人偏爱Jetty,但你不能错过任何一个。 这里可以找到两者的一点比较。

通常,Web容器之间的应用程序迁移相当容易 – 只需要更改某些配置,但源代码中没有任何内容(完全成熟的企业应用程序服务器并不总是如此)。

答案是,根据您的开发实践,您可以或多或少地更改应用程序容器。 例如, Liferay门户包含许多应用程序容器的自定义XML配置文件,允许它在许多容器上使用。 因此,可以灵活切换,但您必须重新执行所有特定于服务器的配置文件,并且不能依赖于特定于容器的function。

在某些情况下,容器本身使其变得困难。 例如,JBoss 类加载器的历史很少支持实际的J2EE和Java EE标准。 这使得很容易依赖非标准function,在某些情况下几乎不可能使用标准function。

除了确保您的应用程序服务器强制执行标准之外,您还需要确保需要完整的应用程序服务器,而不仅仅是上面提到的servlet容器。 您的应用程序是需要EJB还是只需要servlet? 如果您没有进行EJB开发,那么应用程序服务器就会被过度杀死。

如果您正在进行EJB开发或使用除servlet容器之外的其他EEfunction,请考虑在符合标准的情况下轻松配置和管理,我认为您将找到符合您需求的服务器。

编写良好的Java Web应用程序可以部署在任何Web容器上,可能需要一些外部配置。

因此,您可以选择在开发期间最适合您的那个,然后在目标部署服务器上进行测试。

对于netbeans,Tomcat是封闭的,并且很好。 Eclipse还没有封闭的Web容器,但支持Tomcat。

在任何情况下,使用其他人使用的,然后他们可以帮助你,你和他们。

出于纯粹的开发目的,我想要一个服务器

  • 占地面积小,启动/停止时间极短。
  • IDE插件

所以,我投票给Jetty for web app。

如果您使用Netbeans,Glassfish也不是一个糟糕的选择,因为它通过使用NIO的灰熊显示出卓越的性能。