Tomcat、JBoss、Glassfish之间有什么区别?| Java Debug 笔记

本文正在参加「Java主题月 – Java Debug笔记活动」,详情查看<活动链接>

提问:TomcatJBossGlassfish之间有什么区别?

我正在学习企业级Java。我看的书里使用JBoss作为服务器。Netbeans推荐使用Glassfish。我曾经使用过Tomcat

这三个服务器软件有什么区别吗?

回答一

你应该使用GlassFish作为javaee企业级应用。

下面是一些概念:

web服务器的概念:处理HTTP请求(通常来自浏览器)

Servlet容器的概念:它可以处理Servlet和Jsp

应用服务器(application server)的概念:它可以管理javaee应用程序(通常是servlet/jsp/ejb)

Tomcat:一个Apache的开源项目,有两个版本:

  1. Tomcat - Web profile – 只是一个轻量级的应用服务器,不支持Javaee的某些特性,如EJB、JMS等
  2. Tomcat EE – 这是一个经过认证的Javaee容器,它支持所有Javaee技术

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

JBoss:由Redhat维护,它是一个对Javaee有完整堆栈支持并经过认证的Javaee容器。它也有两个版本:

  1. 社区版(AS) – 只提供社区支持
  2. 企业版(EAP)– 你必须有一个许可证才能用它(它基于服务器上的核心数量)

Glassfish:由Orcale维护,这也是一个经过全栈认证的Javaee容器,它有自己的web容器。因为它来自于Oracle本身,所以所有新的规范都将首先使用Glassfish进行测试和实现,因此,它总是支持最新规范。

回答二

Tomcat仅仅是一个HTTP服务器和Java Servlet容器。JBossGlassFish是成熟的javaee应用服务器。Tomcat的内存占用更小(约60~70MB),而那些javaee服务器的重量有数百兆。Tomat在简单的web应用上被普遍使用,或者是使用Spring等不需要完整javaee服务器的框架应用程序,Tomcat服务器的管理非常简单,因为它的组件很少。

但是,对于需要完整javaee堆栈的应用程序,JBOSSGlassFish是两个流行的开源项目。JBoss拥有更活跃的用户社区,以及更成熟的代码库。然而,JBoss在实现javaee规范方面明显落后于GlassFish。另外,对于那些喜欢基于GUI管理系统的人,GlassFish的管理控制台非常灵活,而JBoss中的大多数管理都是通过命令行和文本编辑器完成的。GlassFish直接来自Sun/Oracle,具有所有可以提供的优势。而JBoss不是由Sun/Oracle管理。

文章翻译自Stack Overflow:stackoverflow.com/questions/3…

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享