【发布时间】:2011-02-11 04:06:23
【问题描述】:
我的经理让我推荐一个用于 Web 应用程序开发工作的应用程序服务器。
在Java J2EE开发中我们选择任何应用服务器进行Web应用开发前需要考虑哪些因素?
如果我现在和将来选择一个,并且我想更改为其他应用程序服务器,那么更改的工作量是否最小?
【问题讨论】:
标签: java web-applications jboss weblogic application-server
我的经理让我推荐一个用于 Web 应用程序开发工作的应用程序服务器。
在Java J2EE开发中我们选择任何应用服务器进行Web应用开发前需要考虑哪些因素?
如果我现在和将来选择一个,并且我想更改为其他应用程序服务器,那么更改的工作量是否最小?
【问题讨论】:
标签: java web-applications jboss weblogic application-server
出于纯粹的开发目的,我想要一个带有
的服务器所以,我对 Jetty 投了 web 应用的一票。
如果您使用的是 Netbeans,Glassfish 也是一个不错的选择,因为它通过使用 NIO 的 grizzly 显示出卓越的性能。
【讨论】:
一个编写良好的 Java Web 应用程序可以部署在任何 Web 容器上,可能需要一些外部配置。
因此您可以在开发过程中选择最适合您的一款,然后在目标部署服务器上进行测试。
对于 netbeans,Tomcat 是封闭的,没问题。 Eclipse 还没有封闭的 Web 容器,但支持 Tomcat。
在任何情况下,使用其他人使用的,然后他们可以帮助你,你也可以帮助他们。
【讨论】:
Apache Tomcat 和 Jetty 是两个最流行的 Web 容器。 Tomcat 是 Java servlet 容器的参考实现,Jetty 速度更快,更轻量级。我个人更喜欢 Jetty,但你不能对它们中的任何一个出错。两者的小对比可以看here。
通常,应用程序在 Web 容器之间的迁移相当容易 - 只需要更改一些配置,而无需更改源代码(成熟的企业应用程序服务器并非总是如此)。
【讨论】:
答案是,您可以根据自己的开发实践或多或少地更改应用程序容器。例如,Liferay 门户包含许多应用程序容器的自定义 XML 配置文件,允许在许多容器上使用它。所以,灵活切换当然是可以的,但是你必须重新做所有服务器特定的配置文件,你不能依赖容器特定的功能。
在某些情况下,容器本身就很困难。例如,JBoss classloader 历史上很少支持实际的 J2EE 和 Java EE 标准。这使得依赖非标准功能变得容易,在某些情况下几乎不可能使用标准功能。
除了确保您的应用程序服务器强制执行标准合规性之外,您还需要确保您需要一个完整的应用程序服务器,而不是上面提到的只是一个 servlet 容器。您的应用程序需要 EJB,还是只需要 servlet?如果您不进行 EJB 开发,那么应用服务器就太过分了。
如果您正在进行 EJB 开发或以其他方式使用 servlet 容器提供的其他 EE 功能,请考虑易于配置和管理以及符合标准,我认为您会找到适合您需求的服务器。
【讨论】: