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