web容器 web服务器 servlet/jsp容器 之间的区别和关系是什么?

web容器 web服务器 servlet/jsp容器 之间的区别和关系是什么?

这是我在网上找的一些资料:
1. Web浏览器除了能够在本地硬盘上打开网页文档外,还可使用http网络协议从网络上的Web服务器(也叫www服务器)上获取网页文档的内容。html

2. Web浏览器与Web服务器分别表明着TCP网络程序的客户机和服务器。web

3. 不管网站规模的大小,最起码的工做就是要在用作Web服务器的计算机上安装某种Web服务器软件。只要在一台计算机上安装了Web服务器软件,从功能上讲,这台计算机就能够成为Web服务器。Web服务器包括硬件即计算机和软件即Web服务器软件两层意思。目前有两种Web服务器软件:IIS和Apache,可是它们都不直接支持Servlet和Jsp程序。要想在这些Web服务器软件中运行Servlet和Jsp,还必须将它们与某种Servlet和Jsp容器(引擎)进行集成。spring

4. Tomcat是Sun公司推荐运行的Servlet和Jsp容器,它能够被集成到IIS和Apache中。Tomcat也具备Web服务器的一些基本功能,仅基本功能而已。对于通常的Web应用,咱们能够直接将Tomcat做为Web服务器软件运行。数据库

5. 在J2EE平台中,有Servlet和Jsp容器,EJB容器等容器。apache

6. Servlet容器的主要任务是管理servlet的生命周期。而Web容器,它是来管理和部署 Web应用的,我的认为Web容器包括Web服务器和Servelt、Jsp容器两层意思。固然,Tomcat可被认为是Sevlet容器、Web容器,也具备Web服务器软件通常的功能 服务器:广义上讲有不少的概念,硬件角度上说就是一台高性能的Computer。咱们一般指的服务器其实应该是装有可以处理具体请求事务的服务器软件的Computer。好比最多见的www服务器、mail服务器、计费服务器、ftp服务器等等。不少时候人们常把诸如Tomcat、IIS、Weblogic 也称之为web服务器,这对初学者很容易形成混淆,其实这些只是用于开发、集成、部署和管理Web应用、网络应用和数据库应用的应用服务器软件。
7.web容器:通俗的讲web容器就是可以支持发布web程序的软件。
8.b/s结构下,以常见的自来水供水系统为例来讲,整个web系统比如完整的供水系统,用户只须要有水龙头(Broswer),水管至关于计算机网络(network),自来水公司的供水系统(即Server),其中的压力水罐就是容器(Container)了。 servlet容器的主要任务是管理servlet的生命周期。有一种服务器叫作应用服务器,它的功能比web服务器要强大的多,由于它能够部署EJB应用,能够实现容器管理的事务,通常的应用服务器有weblogic和websphere等,它们都是商业服务器,功能强大但都是收费的。web容器最典型的就是tomcat了,Tomcat是web容器也是servlet容器。web容器比如电视机,servlet容器比如VCD,没有VCD你能够看电视,对吧,可是有了VCD没有电视机,你从哪看起?:)没有servlet容器,你也能够用web容器直接访问静态页面,好比安装一个apache等,可是若是要显示jsp/servlet,你就要安装一个servlet容器了,可是光有servlet容器是不够的,由于它要被解析成html输出,因此你仍须要一个web容器。可是,注意 我说   可是, 大多数servlet容器同时提供了web容器的功能,也就是说大多servelt能够独立运行你的web应用。浏览器

 servlet容器,负责管理servlet生命周期。
    web容器,负责管理和部署web应用,其自己可能具有servlet容器组件;若是没有,通常能将第三方servlet容器做为组件整合进web容器。
    应用服务器,其功能远远大于web容器,由于它能够部署EJB应用,能够实现容器管理的事务,通常的应用服务器有weblogic和websphere等,它们都是商业服务器,功能强大但都是收费的。web容器最典型的就是tomcat了,Tomcat是web容器也是servlet容器。
    因为spring的出现,应用服务器在容器管理的事务方面的价值正在褪去,由于spring的配置型事务管理特性能适用于绝大多数非分布式事务的应用场景。
WEB 容器更多的是跟基于 HTTP 的请求打交道。而 EJB 容器不是。它是更多的跟数据库、其它服务打交道。 
  容器的行为是 将其内部的应用程序组件与外界的通讯协议交互进行了隔离,从而减轻内部应用程序组件的负担(实现方面的负担?)。 例如,SERVLET 不用关心 HTTP 的细节,而是直接引用环境变量 session、request、response 就行、EJB 不用关心数据库链接速度、各类事务控制,直接由容器来完成。 
  Web 服务器能够响应针对静态页面或图片的请求, 进行页面跳转(redirect),或者把动态响应(dynamic response)的产生委托(delegate)给一些其它的程序,例如 CGI 脚本,JSP(JavaServer Pages)脚本,servlets,ASP(Active Server Pages)脚本,服务器端 JavaScript,或者一些其它的服务器端技术。 

Web 服务器仅仅提供一个能够执行服务器端程序和返回(程序所产生的)响应的环境,而不会超出职能范围。 
Web 服务器主要是处理须要向浏览器发送 HTML 的请求以供浏览。
对于一个初学者来讲,能够这样认为,当在一台机器上配置好 Apache 服务器,可利用它响应对 HTML 页面的访问请求。实际上 Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,因此当你运行 tomcat 时,它实际上做为一个与 Apache 独立的进程单独运行的。 
 Tomcat 是提供一个支持 Servlet 和 JSP 运行的容器。Servlet 和 JSP 能根据实时须要,产生动态网页内容。而对于 Web 服务器来讲, Apache 仅仅支持静态网页,对于支持动态网页就会显得无能为力;Tomcat 则既能为动态网页服务,同时也能为静态网页提供支持。尽管它没有一般的 Web 服务器快、功能也不如 Web 服务器丰富,可是 Tomcat 逐渐为支持静态内容不断扩充。大多数的 Web 服务器都是用底层语言编写如 C,利用了相应平台的特征,所以用纯 Java 编写的 Tomcat 执行速度不可能与它们相提并论。 
--——————————————————————————
相关文章
相关标签/搜索