您的位置:首页 > 其它

WEB 容器、WEB服务和应用服务器的区别与联系

2017-12-27 15:09 549 查看


web服务器(如tomcat)---对应多个web容器(中间件,对网络连接,会话管理,servlet的管理等工作)---对应多个web应用

何为容器:       容器是一种服务调用规范框架,J2EE 大量运用了容器和组件技术来构建分层的企业级应用。(就是所谓的一种中间件,

有了web容器,只要按照它的规范写出功能逻辑(比如servlet,又比如asp)就可以了,而网络连接管理,会话管理等功能都由容器实现,大大简化了开发



[出自百度]

[知乎]

拿servlet举例来说,当请求到来时,实例化servlet,或者至少要建一个新的线程来处理这个请求,调用servlet的doPost或者doGet方法,管理servlet生死以及资源,Web容器要做的就是这些工作。如果没有容器,这些工作就需要自己编码实现,增加了不少工作量。

Tomcat作为一个轻量级的服务器,就包含了servlet容器。当然,一个Web服务器可以包含多个容器,简单来说Web服务器中一般包含有Web容器。

WEB 容器给处于其中的应用程序组件(JSP,SERVLET)提供一个环境,使 JSP,SERVLET 直接跟容器中的环境变量交互,不必关注其它系统问题(从这个角度来说,web 容器应该属于架构上的概念)。web 容器 主要由 WEB 服务器来实现。例如:TOMCAT,WEBLOGIC,WEBSPHERE 等。       若容器提供的接口严格遵守 J2EE 规范中的 WEB APPLICATION 标准。我们把该容器叫做 J2EE 中的 WEB 容器。WEB
容器更多的是跟基于 HTTP 的请求打交道。

容器的行为是 将其内部的应用程序组件与外界的通信协议交互进行了隔离,从而减轻内部应用程序组件的负担(实现方面的负担?)。 例如,SERVLET 不用关心 HTTP 的细节,而是直接引用环境变量 session、request、response 就行

【Web服务器】
Web 服务器(Web Server)可以处理 HTTP 协议。当 Web 服务器接收到一个 HTTP 请求,会返回一个 HTTP 响应,例如送回一个 HTML 页面。
Web 服务器可以响应针对静态页面或图片的请求, 进行页面跳转(redirect),或者把动态响应(dynamic response)的产生委托(delegate)给一些其它的程序,例如 CGI 脚本,JSP(JavaServer Pages)脚本,servlets,ASP(Active Server Pages)脚本,服务器端 JavaScript,或者一些其它的服务器端技术。
Web 服务器仅仅提供一个可以执行服务器端程序和返回(程序所产生的)响应的环境,而不会超出职能范围。 Web 服务器主要是处理需要向浏览器发送 HTML 的请求以供浏览。

【应用程序服务器(The Application Server)】
根据定义,作为应用程序服务器,要求可以通过各种协议(包括 HTTP 协议)把商业逻辑暴露给(expose)客户端应用程序。应用程序使用此商业逻辑就像你调用对象的一个方法或过程(语言中的一个函数)一样。
【servlet】
Servlet(Server Applet),全称 Java Servlet,未有中文译文。是用 Java 编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态 Web 内容。狭义的 Servlet 是指 Java 语言实现的一个接口,广义的 Servlet 是指任何实现了这个 Servlet 接口的类,一般情况下,人们将 Servlet 理解为后者。
Servlet 运行于支持 Java 的应用服务器中。从实现上讲,Servlet 可以响应任何类型的请求,但绝大多数情况下 Servlet 只用来扩展基于 HTTP 协议的 Web 服务器。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: