今天学习tomcat时发现一篇写的比较好的文章,故分享给大家

Web服务器(软件):

Apache http server, 这个它的网址,http://httpd.apache.org/download.cgi#apache24,实现的是HTTP协议,提供的是静态网页服务。

替代者有Nginx

Web容器:

tomcat, http://tomcat.apache.org/whoweare.html, 实现的是JSP,Servlet,提供了环境让JSP在里面被编译,被执行。

提供了动态网页服务。但同时也能提供静态网页的解析服务,与前者有集成,但功能不及前者。

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

1. Web浏览器除了可以在本地硬盘上打开网页文档外,还可以使用http网络协议从网络上的Web服务器
(也叫www服务器)上获取网页文档的内容。
2. Web浏览器与Web服务器分别代表着TCP网络程序的客户机和服务器。
3. 无论网站规模的大小,最起码的工作就是要在用做Web服务器的计算机上安装某种Web服务器软件。只
要在一台计算机上安装了Web服务器软件,从功能上讲,这台计算机就可以成为Web服务器。Web服务器
包括硬件即计算机和软件即Web服务器软件两层意思。目前有两种Web服务器软件:IIS和Apache,
但是它们都不直接支持Servlet和Jsp程序。要想在这些Web服务器软件中运行Servlet和Jsp,还必须将它们
与某种Servlet和Jsp容器(引擎)进行集成。
4. Tomcat是Sun公司推荐运行的Servlet和Jsp容器,它可以被集成到IIS和Apache中。Tomcat也具有Web服
务器的一些基本功能,仅基本功能而已。对于一般的Web应用,我们可以直接将Tomcat作为Web服务器软
件运行。
5. 在J2EE平台中,有Servlet和Jsp容器,EJB容器等容器。
6. Servlet容器的主要任务是管理servlet的生命周期。而Web容器,它是来管理和部署 Web应用的,个人
认为Web容器包括Web服务器和Servelt、Jsp容器两层意思。当然,Tomcat可被认为是Sevlet容器、Web
容器,也具有Web服务器软件一般的功能
服务器:广义上讲有很多的概念,硬件角度上说就是一台高性能的Computer。我们通常指的服务
器其实应该是装有能够处理具体请求事务的服务器软件的Computer。比如最常见的www服务器、mail服务
器、计费服务器、ftp服务器等等。很多时候人们常把诸如Tomcat、IIS、Weblogic 也称之为web服务器
这对初学者很容易造成混淆,其实这些只是用于开发、集成、部署和管理Web应用、网络应用和数据库应
用的应用服务器软件
web容器:通俗的讲web容器就是能够支持发布web程序的软件

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应用。

web容器 web服务器 servlet/jsp容器 之间的区别和关系的更多相关文章

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

    web容器 web服务器 servlet/jsp容器 之间的区别和关系是什么? 这是我在网上找的一些资料:1. Web浏览器除了可以在本地硬盘上打开网页文档外,还可以使用http网络协议从网络上的We ...

  2. UTF-8 GBK UTF8 GB2312之间的区别和关系

    UTF-8 GBK UTF8 GB2312之间的区别和关系     UTF-8:Unicode TransformationFormat-8bit,允许含BOM,但通常不含BOM.是用以解决国际上字符 ...

  3. java web 开发入门 --- tomcat/servlet/jsp

    在做java web 开发时,要先安装tomcat.它是一个web服务器,也叫web容器,我们把写好的jsp, html页面放到它里面,然后启动它,就可以用浏览器访问这些页面,地址栏中输入localh ...

  4. 关于背景图相对父容器垂直居中问题 —— vertical-align 和 line-height 之间的区别

       html css <div class="register-wrapper"> <div class="register"> &l ...

  5. servlet与Javabean之间的区别

    在JSP中调用JAVA类和使用JavaBean有什么区别? 可以像使用一般的类一样使用JavaBean,Bean只是一种特殊的类.特殊在可以通过<jsp:useBean/>调用JavaBe ...

  6. servlet,RMI,webservice之间的区别

    最近项目中有提供或者调用别的接口,在纠结中到底是用servlet还是用webservice,所以上网查看了下他们以及RMI之间的区别,方便加深了解. 首先比较下servlet和webservice下  ...

  7. 浅谈HTTPS协议和SSL、TLS之间的区别与关系

    HTTP可能是我们见到过最多的一个字符串了,应该没有之一,而对于HTTPS到来和趋势,我们又开始看到SSL/TLS,所以对于一般不只做技术的人来说这或许还是一个疑问,那么子凡就趁最近在折腾这方面来给大 ...

  8. java web 学习总结之 Servlet/JSP 编码问题

    Servlet和JSP编码问题 字节流: 1.得到OutputStream  字节流 OutputStream os = response.getOutputStream();   用默认编码输出数据 ...

  9. Java Web学习总结(26)——Servlet不同版本之间的区别

    1.   2.3版本 2.3版本 <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2. ...

随机推荐

  1. cytoscape.js

    http://js.cytoscape.org/ HTML 报告中插入动态网络关系图利器

  2. 检测2个url的不同之处(爬虫分析接口)

    就是简单的检测2个url的不同之处,在做爬虫时,要分析接口地址的不同之处,靠自己的眼睛有点累,所以写了一个小程序,不喜勿喷 #测试数据 a = "https://list.tmall.com ...

  3. appium sendkeys 输入数字丢失问题

    参考:https://blog.csdn.net/rainshine1190/article/details/82814503

  4. Ubuntu学习之路

    一. Ubuntu简介 Ubuntu(乌班图)是一个基于Debian的以桌面应用为主的Linux操作系统,据说其名称来自非洲南部祖鲁语或科萨语的“ubuntu”一词,意思是“人性”.“我的存在是因为大 ...

  5. BJOI2018 简要题解

    二进制 序列上线段树维护DDP好题. 题解可以看这篇 代码: #include<bits/stdc++.h> #define ri register int using namespace ...

  6. 工程无法正常调试运行unknown failure at android.os.Binder.execTransact

    同事正常使用的工程,放到另电脑上,开后可以正常编译,但是无法安装调试到手机上,始终提示错误 新建一个工程正常. 最后通过把开发工具升级到最新版本解决.

  7. Day06 (黑客成长日记) 初识函数和返回值的作用

    定义函数: 1.初识函数: 我们在学习字符串时,有这样的操作: li = 'tsy be ba bvake ' print(len(li)) 这样可以打印出li的长度,我们利用了python中的len ...

  8. OC对象,自动释放池,OC与C语言的区别

    在C语言中,编程都是面向过程的编程,每一个代码块都严格按照从上至下的顺序执行,在代码块之间同样也是这样, 但是在OC中往往不是这样,OC和C++.java等语言一样,都是面向对象的编程语言,在代码的执 ...

  9. 解析Java分布式系统中的缓存架构(上)

    作者 陈彩华 文章转载交流请联系 caison@aliyun.com 本文主要介绍大型分布式系统中缓存的相关理论,常见的缓存组件以及应用场景. 1 缓存概述 2 缓存的分类 缓存主要分为以下四类 2. ...

  10. Webview 浏览器开源项目总结

    在Android开发中,我们不免会遇到使用WebView实现网页展示的需求,以下是本人之前star的开源项目,供大家参考: 一.CrosswalkWebview 项目地址:https://github ...