慕课网:https://www.imooc.com/video/19201

Server:指整个tomcat服务器,它其中包含多个组件,它主要负责管理和启动各个service,同时监听8005端发过来的shutdown命令,用于关闭整个容器

Tomcat中最顶层的容器是Server,代表着整个服务器,从上图中可以看出,一个Server可以包含至少一个Service,用于具体提供服务。
各个service之间的独立的的,但是他们会共享同一个虚拟机资源
Service主要包含两个部分:Connector和Container。两个核心组件和多个功能组件

Connector(连接器):用于监听固定端口,接收外部请求,将请求传递给Container,并将Container的处理结果返回给web

当一个jsp页面请求过的时候,

Container :是一个servlet容器。内部由多层容器组成,它主要用于管理servlet的生命周期,然后调用servlet的相关方法处理逻辑

责任链设计模式:

Engin:处理每个请求的入口点,只能有一个

Host:定义了一个虚拟主机,它包含了一个或多个Web应用,可以有多个

Context(相当于一个war包):运行在虚拟主机上的单个Web应用,每个web应用 都拥有 (唯一的)一个相对应的Context,一个或多个

Tomcat Server处理一个http请求的过程

假设来自客户的请求为:http://localhost:8080/wsota/wsota_index.jsp

  • 1) 请求被发送到本机端口8080,被在那里侦听的Coyote HTTP/1.1 Connector获得
  • 2) Connector把该请求交给它所在的Service的Engine来处理,并等待来自Engine的回应
  • 3) Engine获得请求localhost/wsota/wsota_index.jsp,匹配它所拥有的所有虚拟主机Host
  • 4) Engine匹配到名为localhost的Host(即使匹配不到也把请求交给该Host处理,因为该Host被定义为该Engine的默认主机)
  • 5) localhost Host获得请求/wsota/wsota_index.jsp,匹配它所拥有的所有Context
  • 6) Host匹配到路径为/wsota的Context(如果匹配不到就把该请求交给路径名为""的Context去处理)
  • 7) path="/wsota"的Context获得请求/wsota_index.jsp,在它的mapping table中寻找对应的servlet
  • 8) Context匹配到URL PATTERN为*.jsp的servlet,对应于JspServlet类
  • 9) 构造HttpServletRequest对象和HttpServletResponse对象,作为参数调用JspServlet的doGet或doPost方法
  • 10)Context把执行完了之后的HttpServletResponse对象返回给Host
  • 11)Host把HttpServletResponse对象返回给Engine
  • 12)Engine把HttpServletResponse对象返回给Connector
  • 13)Connector把HttpServletResponse对象返回给客户browser

Tomcat的server.xml的更多相关文章

  1. Tomcat 利用server.xml进行其他盘符的其他项目映射的部署以及JSP引用其他盘符的图片(虚拟目录及虚拟路径)

    Tomcat 利用server.xml进行项目映射的部署 2013-07-17 15:14 12843人阅读 评论(4) 收藏 举报  分类: web 开发(5)  版权声明:本文为博主原创文章,欢迎 ...

  2. 本机tomcat的server.xml被还原的问题及解决办法

    将tomcat的server.xml进行修改,但当eclipse发布站点后,发布tomcat中的server.xml会被还原. 原因是eclipse会将自己的tomcat配置文件对tomcat覆盖,解 ...

  3. Tomcat配置(二):tomcat配置文件server.xml详解和部署简介

    */ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...

  4. Tomcat(二):tomcat配置文件server.xml详解和部署简介

    Tomcat系列文章:http://www.cnblogs.com/f-ck-need-u/p/7576137.html 1. 入门示例:虚拟主机提供web服务 该示例通过设置虚拟主机来提供web服务 ...

  5. CentOS磁盘用完的解决办法,以及Tomcat的server.xml里无引用,但是项目仍启动的问题

    这是我2018年的第一篇博客...人真是懒了啊...最近在写微信小程序,觉得小程序做的也... 好了不吐槽了,言归正传 前言: 由于我之前不是买了个三年的香港服务器么 , 之前广州2的服务器我就没有续 ...

  6. 配置Tomcat的server.xml以适应web-content文件系统的位置改变

    刚才把写的一对jsp.html文件夹改变了位置,然后测试的时候出现了404 后来思考,应该去重新配置tomcat的server.xml文件,修改虚拟路径对应的文件系统路径,修改为当前对应的文件系统路径 ...

  7. Tomcat配置 —— server.xml

    Tomcat的核心组件是servlet容器. Tomcat各个组件之间的嵌套关系 server.xml配置如下: <Server port="8005" shutdown=& ...

  8. OSChina.net 的 Tomcat 配置 server.xml 参考

    这是目前 oschina.net 正在使用的 tomcat 的 server.xml 的配置文件内容 <Server port="9005" shutdown="S ...

  9. tomcat中server.xml配置详解(转载)(一)

    转载自:https://www.cnblogs.com/starhu/p/5599773.html tomcat中server.xml配置详解 Tomcat Server的结构图如下:(该文件描述了如 ...

  10. Tomcat配置文件server.xml分析

    本文力求,分析清楚 tomcat 的 server.xml 文件,逐步完善更新 常用来,配置tomcat启动,端口号:配置编码等. apache-tomcat-9.0.10/conf/server.x ...

随机推荐

  1. C# 中使用正则表达式 Regex.Matches方法的几个应用[转]

    用于正则表达式的 Regex.Matches静态方法的几种用法: //①正则表达式 = > 匹配字符串 string Text = @"This is a book , this is ...

  2. 基于Windows服务的聊天程序

    本文将演示怎么通过C#开发部署一个Windows服务,该服务提供各客户端的信息通讯,适用于局域网.采用TCP协议,单一服务器连接模式为一对多:多台服务器的情况下,当客户端连接数超过预设值时可自动进行负 ...

  3. 基于MFC对话框的2048游戏

    在之前一篇<简单数字拼板游戏学习>基础上修改,地址:http://www.cnblogs.com/fwst/p/3706483.html 开发环境:Windows 7/ Visual St ...

  4. zxx.cms.app 开发中的一些git命令

    第一行命令 查看当前项目git的状态 显示是干净的 第二行创建一个 login 分支 并且切换到login 分支 用于login功能模块的开发 第三行 查看当前 所有的 分支 安装less-loade ...

  5. CRM WebClient UI的浏览器打印实现

    WebClient UI上自带了一个打印按钮,按Ctrl + P后可以生成一个新的页面供打印. 如下图所示.可以看到这个页面里所有的超链接都已经被移除了. 这个页面的生成逻辑如下. 1. 按住ctrl ...

  6. jumperver源码理解以及部分修改

    一  admin后台处理以及展示修改    jumpserver 默认不开放admin后台(获取是我没用使用正确的打开方式,) 打开方式 找到程序的入口 urls.py 修改,另外主要看下settin ...

  7. spring 整合mongodb报NoSuchMethodError错误

    刚开始通过网上查到相关的资料进行了一些配置,参考链接:http://www.open-open.com/lib/view/open1454374782167.html maven的dependenci ...

  8. Prometheus(1) 概念

    Prometheus Prometheus是一套开源的监控&报警&时间序列数据库的组合.对我来说,它跟 zabbix 最大的区别就是它没有模板,所有的告警规则都得自己写... 它有一套 ...

  9. String 属于基础的数据类型吗?(未完成)

    String 属于基础的数据类型吗?(未完成)

  10. jsp下拉列表

    <c:set var="REPORT_TYPE_NORMAL" value="<%=SysIndexFormTemp.REPORT_TYPE_NORMAL%& ...