3

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

  • 网络容器
  • EE 容器

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

有人说Tomcat是Web容器,有的地方说Tomcat是应用服务器。Tomcat到底是什么?

如果我说web container + EE container = Application server是对的吗?

4

3 回答 3

6

Tomcat 只是一个 Servlet 容器,同时也是一个 Web 服务器,这意味着它支持开箱即用的 Servlet API、JSF、Play 框架、Spring(一些特性)等等。另一方面,Application Server 通常是 Servlet 容器的超集,这意味着它包含容器具有的所有功能以及所有其他 Java EE 功能,例如消息传递、、、、EJB远程处理等。JTAJavaMail

所以选择主要取决于您的要求,但是在CDIServlet 容器的世界中,对于大多数应用程序来说应该足够了(Java EE 7 也提供事务支持)。

一些 Servlet 容器

  • 阿帕奇雄猫
  • 码头

一些应用服务器

  • JBoss AS(现为 Wildfly)
  • 甲骨文网络逻辑
  • 玻璃鱼
于 2013-10-15T10:09:47.343 回答
4

Tomcat 是一个 Servlet 容器。它不是一个成熟的 Java EE 兼容应用程序服务器,因此它不支持例如EJBsJMS开箱即用。

于 2013-10-15T09:38:21.740 回答
1

我想我自己通过维基百科找到了一个合理的答案,因为没有人给我一个明确的答案

Java Platform, Enterprise Edition 或 Java EE(以前是 J2EE)定义了 Java 应用服务器的 API 和特性的核心集。Web 模块包括 servlet 和 JavaServer Pages。Enterprise JavaBeans 用于管理事务。根据 J2EE 蓝图,应用程序的业务逻辑驻留在 Enterprise JavaBeans 中——一个提供许多特性的模块化服务器组件,包括声明性事务管理和提高应用程序的可伸缩性。一些 Java 应用服务器放弃了许多 Java EE 特性,例如 EJB 和 JMS,包括 Apache 的 Tomcat 和 Eclipse Foundation 的 Jetty。他们更关注 Java Servlet 和 JavaServer Pages。

于 2013-10-15T10:56:49.547 回答