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