Tomcat,JBoss和Glassfish有什么区别?

我正在开始研究Enterprise Java,我所关注的书中提到它将使用JBoss。 Netbeans与Glassfish一起发货。 我过去曾使用过Tomcat。

这三个程序有什么区别?


Tomcat只是一个servlet容器,即它只实现servlet和JSP规范。 Glassfish和JBoss是完整的Java EE服务器(包括EJB,JMS等),Glassfish是最新的Java EE 6堆栈的参考实现,但是JBoss在2010年还没有完全支持它。


Tomcat只是一个HTTP服务器和Java servlet容器。 JBoss和GlassFish是成熟的Java EE应用程序服务器,包括EJB容器和该堆栈的所有其他功能。 另一方面,Tomcat具有较轻的内存占用(〜60-70 MB),而这些Java EE服务器的重量却达数百兆。 对于简单的Web应用程序或使用Spring等框架的应用程序,Tomcat非常流行,不需要完整的Java EE服务器。 由于移动部件较少,管理Tomcat服务器可以说更容易。

但是,对于需要完整的Java EE堆栈的应用程序(或者至少更多可以轻松地插入到Tomcat中的部分)...... JBoss和GlassFish是最受欢迎的两种开源产品(第三种是Apache Geronimo ,构建免费版本的IBM WebSphere)。 JBoss拥有更大更深的用户社区和更成熟的代码库。 但是,JBoss在实现当前Java EE规范方面落后于GlassFish。 另外,对于那些更喜欢基于GUI的管理系统的人来说...... GlassFish的管理控制台非常漂亮,而JBoss中的大多数管理都是通过命令行和文本编辑器完成的。 GlassFish直接来自Sun / Oracle,具有所有可提供的优势。 JBoss不受Sun / Oracle的控制,具有所有可以提供的优点。


您应该使用GlassFish for Java EE企业应用程序 。 有些事情要考虑:

Web服务器意味着:处理HTTP请求(通常来自浏览器)。

Servlet容器 (例如Tomcat )意味着:它可以处理servlet和JSP。

应用程序服务器 (例如GlassFish )意味着:*它可以管理Java EE应用程序(通常是servlet / JSP和EJB)。


Tomcat - 由Apache社区运行 - 开源并且有两种风格Tomcat - Web profile - 轻量级,它只是servlet容器,并且不支持EJB,JMS等Java EE特性。Tomcat EE - 这是一个经过认证的Java EE容器,这支持所有的Java EE技术。

没有可用的商业支持(只有社区支持)

JBoss - 由RedHat运行这是对JavaEE的完整堆栈支持,它是经过认证的Java EE容器。 这包括内部的Tomcat作为Web容器。 这也有两种口味社区版本称为应用服务器(AS) - 这将只有社区支持企业应用服务器(EAP) - 为此,您可以有基于订阅的许可证(它基于您在服务器上拥有的核心数量。)

Glassfish - 由Oracle运行这也是经过全面认证的Java EE容器。 这有它自己的Web容器(不是Tomcat)。 这来自Oracle本身,因此所有新规格都将首先通过Glassfish进行测试和实施。 所以,它总是会支持最新的规范。 我不知道它的支持模式。

链接地址: http://www.djcxy.com/p/96443.html

上一篇: What is the difference between Tomcat, JBoss and Glassfish?

下一篇: Is Apache Tomcat built on Apache Web Server platform?