Tomcat核心原理解析

1.Tomcat基础

1.1Web概念

在这里插入图片描述注意: 动态资源必须转换为静态资源之后才能被浏览器解析
在这里插入图片描述
附加概念:
URL:

  • 在互联网中每个资源(html、css、js、img、png、video)都有一个唯一地址去标识该资源。

  • URL全称Uniform Resource Locator(统一资源定位符)

    http://192.168.6.123:8080/1.jpg

  • URL:通常是由 ip地址、端口号、资源名称、协议名、项目名等组成。

HTTP

  • HTTP全称 Hypertext Transefer Protocol 超文本传输协议。

  • 浏览器和服务器之间进行数据交互的协议。

1.2常见的Web服务器
1.2.1概念

在这里插入图片描述

1.2.2常见的Web服务器软件

在这里插入图片描述

1.3Tomcat历史

在这里插入图片描述

1.4Tomcat安装

前提条件:安装好了JDK(因为jsp转换成servlet后需要编译,所以需要jdk )
具体:tomcat安装前为什么要安装jdk?

Tomcat点击查看:https://blog.csdn.net/qq_40881680/article/details/83582484

1.5Tomcat目录结构

在这里插入图片描述具体:
在这里插入图片描述在这里插入图片描述

1.6Tomcat启动和停止

启动tomcat服务器: 在tomcat安装目录的bin目录下,运行startup.bat。
访问tomcat服务器:http://主机的ip地址:端口号
本地ip地址可以用localhost表示
如下图所示,表示tomcat服务器正常启动:
在这里插入图片描述 停止tomcat服务器: 在tomcat安装目录的bin目录下,运行shutdown.bat。

1.7Tomcat源码部署运行

视频点击:https://www.bilibili.com/video/av68043130?p=5


2.Tomcat架构

2.1 Http工作原理

在这里插入图片描述在这里插入图片描述

2.2 Tomcat整体架构
2.2.1 Http服务器请求处理

在这里插入图片描述在这里插入图片描述

2.2.2 Servlet容器工作流程

在这里插入图片描述

2.2.3 Tomcat整体架构

在这里插入图片描述在这里插入图片描述PS:

  • 一个容器可以对应多个连接器
  • 连接器和容器不能单独对外提供服务
  • 容器和连接器组成的service才能对外提供服务
2.3 连接器–Coyote
2.3.1 架构介绍

在这里插入图片描述在这里插入图片描述

2.3.2 IO模型与协议

在这里插入图片描述在这里插入图片描述

2.3.3 连接器组件

在这里插入图片描述在这里插入图片描述

2.4 容器–Catalina

在这里插入图片描述

2.4.1 Catalina地位

在这里插入图片描述

2.4.2 Catalina结构

Catalina的主要组件结构如下:
在这里插入图片描述Catalina各个组件的职责:
在这里插入图片描述
在这里插入图片描述

2.4.3 Container结构

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

详细补充: Tomcat系统架----容器

2.5 Tomcat启动流程
2.5.1 流程

在这里插入图片描述在这里插入图片描述总结: 初始化或者启动父组件自身,然后去调用子组件

2.5.2 源码解析

启动流程涉及组件介绍:
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

2.5.3 总结

在这里插入图片描述

2.6 Tomcat请求处理流程
2.6.1 请求流程

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述补充: 具体配置信息的编写示例
在这里插入图片描述

2.6.2 请求流程源码解析

在这里插入图片描述在这里插入图片描述


3. Jasper

3.1 Jasper 简介

在这里插入图片描述

3.2 Jsp 编译方式

在这里插入图片描述省略...
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述JSP请求响应流程:
在这里插入图片描述在这里插入图片描述

3.3 Jsp 编译原理

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述


4.Tomcat服务器配置

在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

  • 37
    点赞
  • 208
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
作为一名AI语言模型,我无法进行源代码解析和深入的技术讨论。但是,我可以介绍一些tomcat的基本概念和原理Tomcat是一个开源的Web服务器和Servlet容器。它是由Apache软件基金会开发的,目前最新的版本是Tomcat 9。Tomcat的主要作用是处理HTTP请求和响应,以及支持Java Servlet和JavaServer Pages(JSP)等Web应用程序。 Tomcat的架构是基于Java Servlet规范的,它由三个主要组件组成: 1. Catalina:负责接收和处理HTTP请求,以及调度Servlet和JSP等Web应用程序。 2. Jasper:负责编译JSP页面,并将它们转换为Servlet。 3. Coyote:负责处理HTTP连接和请求,以及与客户端和服务器之间的通信。 Tomcat的工作原理如下: 1. 当客户端发送HTTP请求时,请求首先被Coyote组件接收。 2. Coyote将请求发送给Catalina组件,Catalina根据请求的URL匹配对应的Servlet或JSP。 3. 如果请求对应的是Servlet,则Catalina将请求转发给Servlet容器,由Servlet容器处理请求并生成响应。 4. 如果请求对应的是JSP,则Catalina将请求转发给Jasper组件,Jasper编译JSP页面并将其转换为Servlet,然后由Servlet容器处理请求并生成响应。 5. 最后,Coyote将响应发送回客户端。 总的来说,Tomcat核心就是处理HTTP请求和响应,并提供支持Java Servlet和JSP等Web应用程序的能力。它的架构是基于Java Servlet规范的,由多个组件协同工作完成任务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值