Web服务器,Web容器和应用程序服务器之间的区别

时间:2012-10-02 12:07:27

标签: java-ee webserver application-server web-container

请告诉我Web服务器,Web容器和应用程序服务器之间的区别。

8 个答案:

答案 0 :(得分:60)

您的问题类似于以下内容:

What is the difference between application server and web server?

在Java中: Web容器或Servlet容器或Servlet引擎:用于管理Servlet,JSP等组件。它是Web服务器的一部分。

Web服务器或HTTP服务器:一种能够处理客户端发送的HTTP请求并通过HTTP响应进行响应的服务器。

Application Server或App Server:可以处理用户与组织的后端业务应用程序或数据库之间的所有应用程序操作。它经常被视为三层应用程序的一部分,具有: 表示层,逻辑层,数据层

答案 1 :(得分:8)

  

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

答案 2 :(得分:8)

Web服务器: 它提供HTTP请求和HTTP响应。 它仅通过HTTP协议处理来自客户端的请求。 它包含Web容器。 Web应用程序主要部署在Web服务器上。 EX:Servlet JSP

Web容器: 它维护Servlet对象的生命周期。 调用该servlet对象的服务方法。 传递HttpServletRequest和HttpServletResponse对象

应用服务器: 它拥有具有大业务逻辑的大型企业应用程序。 重量级或重量级应用。 例如:EJB

答案 3 :(得分:4)

Web容器也称为Servlet容器,是与Java servlet交互的Web服务器的组件。 Web容器负责管理servlet的生命周期,将URL映射到特定的servlet,并确保URL请求者具有正确的访问权限。

答案 4 :(得分:1)

Web容器和应用程序服务器之间的主要区别在于大多数Web容器(如Apache Tomcat)仅实现基本的JSR,如Servlet,JSP,JSTL应用程序服务器实现整个Java EE规范。 每个应用程序服务器都包含Web容器。

答案 5 :(得分:0)

Web容器+ HTTP请求处理= WebServer

Web服务器+ EJB +(消息传递+事务+等)= ApplicaitonServer

答案 6 :(得分:-1)

Web容器负责为Web应用程序提供运行时环境。它包含提供命名上下文和管理Web应用程序生命周期的组件。 Web容器是Web服务器的一部分,它们通常处理用户请求并发送静态响应。

Servlet容器是JSP创建的组件所在的容器。他们基本上负责根据用户请求提供动态内容。基本上,Web容器根据用户请求回复静态内容,但Servlet可以创建动态页面。

答案 7 :(得分:-1)

Servlet容器的基本思想是使用Java在服务器端使用Servlet和JSP动态生成网页。所以 servlet容器本质上是与servlet交互的Web服务器的一部分。