什么是Tomcat? Web容器或EE容器?

时间:2013-10-15 09:35:52

标签: java java-ee tomcat web

我是java web技术的新手。据说java web应用程序有两个容器:

  • 网络容器
  • EE容器

这些容器是什么?他们如何合作?

有人说Tomcat是一个Web容器,而在某些地方,据说Tomcat是一个应用服务器。究竟是Tomcat是什么?

如果我说web container + EE container = Application server是否正确?

3 个答案:

答案 0 :(得分:5)

Tomcat只是一个Servlet容器,也可以作为Web服务器,这意味着它支持开箱即用的Servlet API,JSF,Play框架,Spring(一些功能集)等等。另一方面,Application Server通常是Servlet容器的超集,这意味着它包含容器具有的所有功能+所有其他Java EE功能,如消息传递,EJBJTAJavaMail ,远程和其他人。

因此,选择主要取决于您的要求,但在CDI的世界中,Servlet容器应该足以满足大多数应用程序(Java EE 7还提供事务支持)。

一些Servlet容器

  • Apache Tomcat
  • 码头

一些应用服务器

  • JBoss AS(现在是Wildfly)
  • Oracle WebLogic
  • Glassfish

答案 1 :(得分:3)

Tomcat是一个Servlet容器。它不是一个完全成熟的Java EE兼容的Application Server,因此它不支持开箱即用的EJBsJMS

答案 2 :(得分:1)

我认为我自己通过Wikepedia找到了合理的答案,因为没有人给我一个明确的答案

  

Java平台,企业版或Java EE(是J2EE)定义了   核心API集和Java应用程序服务器的功能。网络   模块包括servlet和JavaServer Pages。 Enterprise JavaBeans   用于管理交易。根据J2EE蓝图   应用程序的业务逻辑驻留在Enterprise JavaBeans中 - a   模块化服务器组件提供许多功能,包括   声明式事务管理,以及改进应用程序   可扩展性。一些Java应用程序服务器省去了许多Java EE   像EJB和JMS这样的功能,包括来自Apache的Tomcat和来自的Jetty   Eclipse Foundation。他们更关注Java Servlets和   JavaServer Pages。