我开始研究企业Java,我接下来的书提到它将使用JBoss。Netbeans与Glassfish一起发货。我以前使用过Tomcat。
这三个程序有什么不同?
我开始研究企业Java,我接下来的书提到它将使用JBoss。Netbeans与Glassfish一起发货。我以前使用过Tomcat。
这三个程序有什么不同?
当前回答
Tomcat只是一个servlet容器,也就是说,它只实现servlet和JSP规范。Glassfish和JBoss是完整的Java EE服务器(包括EJB、JMS等),Glassfish是最新Java EE 6堆栈的参考实现,但JBoss在2010年还没有完全支持它。
其他回答
JBoss和Tomcat都是Java servlet应用服务器,但JBoss的功能远不止这些。两者之间的实质区别是JBoss提供了完整的Java企业版(Java EE)堆栈,包括企业JavaBeans和许多其他技术,这些技术对于开发企业Java应用程序的开发人员非常有用。
Tomcat的限制要大得多。可以这样想,JBoss是一个包含servlet容器和web服务器的Java EE堆栈,而Tomcat在很大程度上是一个servlet容器和web服务器。
JBoss and Glassfish are basically full Java EE Application Server whereas Tomcat is only a Servlet container. The main difference between JBoss, Glassfish but also WebSphere, WebLogic and so on respect to Tomcat but also Jetty, was in the functionality that an full app server offer. When you had a full stack Java EE app server you can benefit of all the implementation of the vendor of your choice, and you can benefit of EJB, JTA, CDI(JAVA EE 6+), JPA, JSF, JSP/Servlet of course and so on. With Tomcat on the other hands you can benefit only of JSP/Servlet. However to day with advanced Framework such as Spring and Guice, many of the main advantage of using an a full stack application server can be mitigate, and with the assumption of a one of this framework manly with Spring Ecosystem, you can benefit of many sub project that in the my work experience let me to left the use of a full stack app server in favour of lightweight app server like tomcat.
Tomcat只是一个servlet容器,也就是说,它只实现servlet和JSP规范。Glassfish和JBoss是完整的Java EE服务器(包括EJB、JMS等),Glassfish是最新Java EE 6堆栈的参考实现,但JBoss在2010年还没有完全支持它。
jboss和glassfish包括一个servlet容器(如tomcat),但是两个应用服务器(jboss和glassfish)也提供了一个bean容器(以及一些我想象的其他东西)。
当您阅读这些答案时,使用Tomcat似乎有点令人沮丧。然而,大多数人没有提到的是,您可以使用tomcat获得相同或几乎相同的用例,但这需要您添加所需的库(通过Maven或您使用的任何包含系统)。
我一直在用非常小的配置工作运行tomcat和JPA、ejb。