IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Javaweb-05-详细描述tomcat处理HTTP 请求的流程,tomcat组件介绍 -> 正文阅读

[Java知识库]Javaweb-05-详细描述tomcat处理HTTP 请求的流程,tomcat组件介绍

tomcat处理HTTP 请求流程

  1. 在浏览器上输入http://localhost:8080/my-web-mave/index.jsp
  2. 请求被发送到本机端口8080,被在那里侦听的Connector获得
  3. Connector把请求交给它所在的Service的Engine来处理,并等待Engine的回应
  4. Engine获得请求localhost/my-web-maven/index.jsp,匹配它拥有的所有虚拟主机Host,我们的虚拟主机在server.xml默认配置是localhost
  5. Engine匹配到name=localhost的Host
  6. localhost Host获得请求/my-web-maven/index.jsp,匹配它所拥有的所有Context
  7. Host匹配到路径为/my-web-maven的Context(如果匹配不到就把该请求交给路径名为”"的Context去处理)
  8. path=”/my-web-maven”的Context获得请求/index.jsp,在它的mapping table中寻找对应的servlet
  9. Context匹配到URL PATTERN为*.jsp的servlet,对应于JspServlet类
  10. 构造HttpServletRequest对象和HttpServletResponse对象返回给Host
  11. Host把HttpServletResponse对象返回给Engine
  12. Engine把HttpServletResponse对象返回给Connector
  13. Connector把HttpServletResponse对象返回给客户browser

tomcat组件介绍

server

最外层的核心组件,可以说启动一个tomcat就是启动一个server
作用:
1.提供了监听器机制,用于在tomcat整个生命周期中对不同事件进行处理
2.提供tomcat容器全局的命名资源实现
3.监听某个端口以接受SHUTDOWN命令

service

表示一个或多个Connector的集合,这些Connector共享一个Container 来处理其请求
同一个 Tomcat 实例内可以包含任意多个 Service 实例,它们彼此独立
Connector用于接受请求并将请求封装成Request和Response,然后给Container处理,处理完后交给Connector返回给客户端

Container

容器的父接口,用于封装和管理Servlet,具体处理Request请求

四大请求处理组件
Engine:表示整个Servlet引擎,最高层级的容器对象

引擎:可运行的Catalina的servlet引擎实例,包含servlet容器的核心功能。一个服务器只能有一个引擎。不是直接处理请求的容器,却是获取目标容器的入口,Engine元素下可包含一个或多个虚拟主机Host

Host:代表一个站点,也叫虚拟主机

通过配置Host可以添加站点, Host容器是Engine容器的子容器,其子容器是Context
例如:
访问具体JSP页面URL中localhost就是一个虚拟主机,其作用是运行多个应用,并对这些应用进行管理

Context: 用于表示Servletcontext的一类容器

在Servlet规范中,Servletcontext及一个独立的Web应用,代表一个应用程序,或者WEB-INF目录及下面的web.xml文件

Wrapper:用于表示Web应用中定义的Servlet的一类容器

每一个Wrapper封装这一个Servlet

两个核心组件

Connector
主要负责处理Socket连接,Request与Response的转化

Container
包括Engine、Host、Context和Wrapper,主要负责内部的处理及Servlet的管理

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-12-10 10:55:44  更:2021-12-10 10:58:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 6:00:35-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码