关于Tomcat运行原理的一些分析
来源:互联网 发布:土木工程词典 知乎 编辑:程序博客网 时间:2024/05/16 08:26
前言:Tomcat作为Sun公司官方推荐的jsp和Servlet容器越来越多的受到原件公司和开发人员的喜爱。今天就Tomcat的组成部分和运行原理进行一些讨论。
一、Tomcat的各个组件是在/conf/server.xml中配置的。
<server>顶层类元素,包含多个service
<service>顶层类元素,包含一个Engin和多个Connector
<connector port="8080" protocol="HTTP/1.1">链接类容器,代表通信接口
<connector port="8009" protocol="AJP/1.3">
<Engine>容器元素,为Service处理客户请求,含多个Host
<Host>容器元素,为Host处理客户请求,含多个Context
<Context>为web应用处理客户请求
</service>
</server>
一个java web应用在tomcat中与一个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
阅读全文
0 0
- 关于Tomcat运行原理的一些分析
- 关于uboot fastboot 的一些原理分析
- 关于电梯运行逻辑原理的思路分析
- SpringBoot运行原理的分析:
- 关于tomcat的一些问题
- 关于tomcat的一些知识点
- 关于tomcat的一些问题
- 关于tomcat的一些问题
- 关于Tomcat的一些使用
- 关于Tomcat的一些记录
- 关于tomcat的一些操作
- 关于一些Tomcat的错误
- 关于Android运行的一些
- tomcat 的一些运行错误整理
- 随手记录tomcat的简单运行原理
- 浅析Tomcat中Servlet的运行原理
- tomcat运行原理
- Tomcat运行原理
- Restful
- ionic 1页面跳转登录页面后,返回按钮处理
- Gamma codes(γ 编码)的编码和解码过程(encoding and decoding of Gamma codes)
- 如何用一个java程序来判断一个xml文件是否符合一个DTD的要求
- json的解析
- 关于Tomcat运行原理的一些分析
- 讲一讲WiFi快连、SmartConfig、SmartConnect
- python中MySQLdb模块用法实例
- sql查找表中某个字段值相同,其他字段取最大值的记录
- 算法导论 练习题 17.3-6
- opencv3.2安装opencv_contrib
- 线程池控制输出CountDownLatch同步计数器
- phabricator实战使用
- dom parser