sam*_*moz 440 java enterprise jboss tomcat glassfish
我开始研究Enterprise Java,我正在阅读的书中提到它将使用JBoss.Netbeans随Glassfish一起发货.我过去使用过Tomcat.
这三个项目有什么区别?
Pet*_*hev 511
Tomcat只是一个servlet容器,即它只实现了servlet和JSP规范.Glassfish和JBoss是完整的Java EE服务器(包括EJB,JMS等......),Glassfish是最新Java EE 6堆栈的参考实现,但是2010年的JBoss还没有完全支持它.
Ste*_*ins 351
Tomcat只是一个HTTP服务器和Java servlet容器.JBoss和GlassFish是完整的Java EE应用服务器,包括EJB容器和该堆栈的所有其他功能.另一方面,Tomcat的内存占用量较小(约60-70 MB),而那些Java EE服务器的内存占用数百兆.Tomcat非常适用于简单的Web应用程序,或者使用Spring等不需要完整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的控制,具有可提供的所有优势.
Jai*_*tel 77
您应该使用GlassFish for Java EE企业应用程序.有些事情需要考虑:
一个Web服务器的意思是:处理HTTP请求(通常来自浏览器).
甲Servlet容器(例如Tomcat的)是指:它可以处理的servlet&JSP.
一个应用服务器(如GlassFish的)意思是:*它可以管理Java EE应用程序(通常都的servlet/JSP和EJB).
Tomcat - 由Apache社区运行 - 开源并且有两种风格Tomcat - Web配置文件 - 轻量级,它只是servlet容器,不支持EJB,JMS等Java EE功能.Tomcat EE - 这是一个经过认证的Java EE容器,这支持所有Java EE技术.
没有商业支持(仅限社区支持)
JBoss - 由RedHat运行这是对JavaEE的完整堆栈支持,它是经过认证的Java EE容器.这包括内部的Tomcat作为Web容器.这也有两种版本的社区版本称为Application Server(AS) - 这将只有社区支持企业应用服务器(EAP) - 为此,您可以拥有基于订阅的许可证(它基于您的服务器上的核心数量.)
Glassfish - 由Oracle运行这也是一个经过完整堆栈认证的Java EE容器.它有自己的Web容器(不是Tomcat).这来自Oracle本身,因此所有新规范都将首先使用Glassfish进行测试和实施.所以,它总是支持最新规范.我不知道它的支持模型.
Nim*_*sky 14
jboss和glassfish包含一个servlet容器(如tomcat),但是两个应用程序服务器(jboss和glassfish)也提供了一个bean容器(以及我想象的其他一些东西)
JBoss和Glassfish基本上是完整的Java EE Application Server,而Tomcat只是一个Servlet容器.JBoss,Glassfish以及WebSphere,WebLogic等对Tomcat以及Jetty的主要区别在于完整应用服务器提供的功能.当你有一个全栈的Java EE应用服务器,你可以享受你所选择的供应商的所有执行的,你可以受益的EJB,JTA,CDI(JAVA EE 6+),JPA,JSF,JSP /当然的Servlet等等.另一方面,使用Tomcat,您只能受益于JSP/Servlet.然而,对于使用Spring和Guice等高级框架的日子,使用完整堆栈应用程序服务器的许多主要优势可以减轻,并且假设这个框架中的一个具有Spring Ecosystem的男子气概,您可以受益于许多子项目,在我的工作经验让我离开使用完整的堆栈应用服务器,支持像tomcat这样的轻量级应用服务器.
当您阅读这些答案时,使用Tomcat似乎有点令人沮丧.然而,大多数没有提到的是,您可以使用tomcat获得相同或几乎相同的用例,但这需要您添加所需的库(通过Maven或您使用的任何包含系统).
我一直在使用JPA运行tomcat,EJB配置工作量非常小.
JBoss 和 Tomcat 都是 Java servlet 应用程序服务器,但 JBoss 远不止这些。两者之间的实质性区别在于 JBoss 提供了完整的 Java 企业版 (Java EE) 堆栈,包括 Enterprise JavaBeans 和许多其他对开发企业 Java 应用程序的开发人员有用的技术。
Tomcat 的局限性要大得多。一种思考方式是,JBoss 是一个 Java EE 堆栈,其中包括一个 servlet 容器和 Web 服务器,而 Tomcat 在大多数情况下是一个 servlet 容器和 Web 服务器。
| 归档时间: |
|
| 查看次数: |
298654 次 |
| 最近记录: |