[java] Tomcat,JBoss和Glassfish有什么区别?


Answers

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的控制,具有所有可以提供的优点。

Question

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

这三个程序有什么区别?




JBoss和Tomcat都是Java servlet应用服务器,但JBoss更多。 两者之间的巨大差异在于JBoss提供了一个完整的Java企业版(Java EE)堆栈,包括Enterprise JavaBeans和许多其他技术,这些技术对于开发企业Java应用程序的开发人员非常有用。

Tomcat更受限制。 一种可以考虑的方式是JBoss是一个包含servlet容器和web服务器的Java EE堆栈,而Tomcat大部分是一个servlet容器和web服务器。




jboss和glassfish包含一个servlet容器(比如tomcat),但是这两个应用服务器(jboss和glassfish)也提供了一个bean容器(以及其他一些东西,我想象的也是)




阅读这些答案时,使用Tomcat似乎有点令人沮丧。 然而,最没有提及的是,你可以使用tomcat获得相同或几乎相同的用例,但这需要你添加所需的库(通过Maven或任何包括你使用的系统)。

我一直在用JPA和EJB运行tomcat,配置工作量很小。




Related