请告诉我 Web 服务器、Web 容器和应用程序服务器之间的区别。
8 回答
您的问题类似于以下内容:
在 Java 中:Web Container 或 Servlet Container 或 Servlet Engine:用于管理 Servlet、JSP 等组件。它是 Web 服务器的一部分。
Web 服务器或 HTTP 服务器:能够处理由客户端发送并以 HTTP 响应返回的 HTTP 请求的服务器。
应用服务器或应用服务器:可以处理用户和组织的后端业务应用程序或数据库之间的所有应用程序操作。它经常被视为三层应用程序的一部分:表示层、逻辑层、数据层
Web 服务器:它提供 HTTP 请求和 HTTP 响应。它仅通过 HTTP 协议处理来自客户端的请求。它包含 Web 容器。Web 应用程序主要部署在 Web 服务器上。例如:Servlet JSP
Web Container:维护Servlet Object的生命周期。调用该 servlet 对象的服务方法。传递 HttpServletRequest 和 HttpServletResponse 对象
应用服务器:它拥有具有大业务逻辑的大型企业应用程序。它是重量级或拥有重量级应用程序。例如:EJB
Web 应用程序在 Web 服务器的 Web 容器中运行。Web 容器通过提供命名上下文和生命周期管理的组件来提供运行时环境。一些 Web 服务器还可能提供额外的服务,例如安全性和并发控制。Web 服务器可以与 EJB 服务器一起工作以提供其中一些服务。但是,Web 服务器不需要与 EJB 服务器位于同一台机器上。
Web 应用程序由 Web 组件和其他数据(例如 HTML 页面)组成。Web 组件可以是 servlet、使用 JavaServer Pages™ 技术创建的 JSP 页面、Web 过滤器和 Web 事件侦听器。这些组件通常在 Web 服务器中执行,并可能响应来自 Web 客户端的 HTTP 请求。Servlet、JSP 页面和过滤器可用于生成作为应用程序用户界面的 HTML 页面。它们还可用于生成 XML 或其他应用程序组件使用的其他格式数据。
来源:http ://www.service-architecture.com/articles/application-servers/j2ee_web_server_or_container.html
Web 容器也称为 Servlet 容器,是与 Java servlet 交互的 Web 服务器的组件。Web 容器负责管理 servlet 的生命周期,将 URL 映射到特定的 servlet 并确保 URL 请求者具有正确的访问权限。
Web 容器和应用程序服务器之间的主要区别在于,大多数 Web 容器(例如 Apache Tomcat)只实现了基本的 JSR,例如 Servlet、JSP、JSTL,而应用程序服务器实现了整个 Java EE 规范。每个应用程序服务器都包含 Web 容器。
Web 容器 + HTTP 请求处理 = WebServer
Web 服务器 + EJB +(消息传递 + 事务 + 等)= ApplicaitonServer
Web 容器负责为 Web 应用程序提供运行时环境。它包含提供命名上下文和管理 Web 应用程序生命周期的组件。Web 容器是 Web 服务器的一部分,它们通常处理用户请求并发送静态响应。
Servlet 容器是 JSP 创建的组件所在的容器。他们基本上负责根据用户请求提供动态内容。基本上,Web 容器根据用户请求回复静态内容,但 Servlet 可以创建动态页面。
Servlet 容器的基本思想是使用 Java 在服务器端使用 Servlet 和 JSP 动态生成网页。因此servlet 容器本质上是与 servlet 交互的 Web 服务器的一部分。