Tomcat原理与实践

  • Http工作原理

image-20191220154147096

1.Tomcat整体架构

image-20191220154756892

1.1servlet容器工作流程

image-20191220155146169

  • 整体架构

image-20191225203631117

image-20191225203836853

1.2连接器 - Coyote

Coyote架构

image-20191225204817697

image-20191225204846345

IO模型与协议

image-20191225204942170

连接器组件

image-20191225205337314

  • 连接器各个组件的作用

image-20191225205635665

image-20191225205700423

image-20191225205823606

Adapter

适配器模式

1.3容器 - Catalina

image-20191225210014632

Catalina地位

image-20191225210054665

Catalina结构

image-20191225210400403

  • Catalina各个组件作用

image-20191225210608986

Container结构

image-20191225210848599

image-20191225210858920

image-20191225211357914

image-20191225211442817

1.4Tomcat启动流程

流程

image-20191225212140599

image-20191225212325378

image-20191225212957730

源码剖析

Lifecycle

image-20191225213305667

image-20191225213422427

各组件的默认实现

image-20191225213514745

image-20191225213716507

image-20191225213846044

源码入口

image-20191225220647605

image-20191225220314952

总结

image-20191226152212587

1.5Tomcat请求处理

请求流程

image-20191226152852109

image-20191226153026896

image-20191226153253872

image-20191226155959661

image-20191226153527170

请求流程源码解析

image-20191226160031944

image-20191226160351158

2.Jasper

2.1Jasper简介

image-20191226161842035

2.2jsp编译方式

image-20191226165342163

2.2.1运行时编译

image-20191226163117108

image-20191226163452800

image-20191226164844501

2.2.2预编译

image-20191226165738379

2.3JSP编译原理

2.3.1代码分析

index_jsp.class

image-20191226170238143

image-20191226170629801

2.3.2编译流程

image-20191226192623640

image-20191226192640064

3.Tomcat服务器配置

3.1server.xml

image-20191226193040022

image-20191226193052573

image-20191226193234953

image-20191226193301059

image-20191226193558235

image-20191226194247317

image-20191226194500462

image-20191226194614024

image-20191226194940564

image-20191226201114240

image-20191226201358411image-20191226201726327

image-20191226202942173

image-20191226203018114

image-20191226203310502

3.2tomcat-users.xml

image-20191226203418891

4.Web应用配置

image-20191226205055386

4.1ServletContext初始化参数

image-20191226205432405

4.2会话配置

image-20191226211011774

image-20191226210945779

image-20191226211718010

image-20191226211822050

4.3Servlet配置

image-20191226212046706

image-20191226212659363

4.4Listener配置

image-20191226212802932

4.5Filter配置

image-20191226212834450

image-20191226212949254

4.6欢迎页面配置

image-20191226213344788

4.7错误页面配置

image-20191226213628435

5.Tomcat管理配置

5.1host-manager

image-20191226214424843

5.2manager

image-20191226215221215

6.JVM配置

image-20191226220802241

image-20191226221033614

image-20191226221252711

7.Tomcat集群

image-20191227101931677

image-20191227102336125

image-20191227102643329

image-20191227103844262

image-20191227104016102

image-20191227104248749

Session共享方案

image-20191227104806834

image-20191227110610072

image-20191227110726492

image-20191227110459382

(只适用小型应用,大型应用很多tomcat,要执行N-1次session复制)

image-20191227111036701

8.Tomcat安全

8.1配置安全

image-20191227111229953

image-20191227111609989

8.2应用安全

image-20191227111819018

8.3传输安全

image-20191227111833063

image-20191227112459460

image-20191227112835676

image-20191227113743152

image-20191227115514367

image-20191227115838765

9.Tomcat性能调优

9.1Tomcat性能测试

image-20191227120125305

9.2Tomcat性能优化

image-20191227120317663

image-20191227152949737

image-20191227153612016

image-20191227153743638

image-20191227154126845

image-20191227154142422

image-20191227154211590

10.Tomcat性能优化

JVM参数调优

image-20191227161610970

  • 在Catalina.sh中添加

image-20191227161852045

  • jmap指令查看tomcat内存使用情况

image-20191227171109078

image-20191227171201806

image-20191227171414027

image-20191227171535146

image-20191227171832282

image-20191227172028889

image-20191227172049182

image-20191227172618646

image-20191227172802631

image-20191227173426912

Tomcat配置调优

image-20191227173454719

原文地址:https://www.cnblogs.com/yifengGG/p/13124816.html