Java电子书:Tomcat架构解析 PDF 电子书 Java吧 java8.com7 L% A% r' s1 v, w6 V$ @
& e% Q6 Q% R/ T2 ~作者:刘光瑞出版社:人民邮电出版社出版时间:2017年04月
* ]* d* f1 |1 x% U9 X/ n' K: i @1 C6 [( k8 L$ Q$ `$ d2 |
编号:166-Java吧资源免费-X0069【Java吧 java8.com】
: v# v7 V; f. @$ y% \( H% N; P" y" x) R
5 s. o1 T$ V& \
3 K9 p( T8 j* D! R: R# `' |: s
目录: T- f0 N" g3 c( K! ?4 C
第1章 Tomcat介绍 1
9 D( t" a- L3 m! ]1.1 简介 1
' Y. O8 v1 j: x1.1.1 Tomcat历史 1. ^* I% B- o2 w0 T# b! J
1.1.2 Tomcat许可 2% B2 u, l: V( C# g+ j) k* G* j5 s2 I# C
1.2 安装和启动 3
" E$ K, A7 q- ]+ ~4 i: ]9 G1.2.1 Tomcat下载与安装 39 o0 K. ^$ t A$ p( G
1.2.2 Tomcat启动 4; h6 ~7 r6 s+ J
1.2.3 IDE启动 5
8 f3 i1 m. S0 T; m# U9 p1.2.4 嵌入式启动 10
, ?( ]) \5 U8 `' u7 y1.2.5 Debug启动 11
7 o1 N1 l# X4 M2 g1.3 Tomcat目录结构 12
* q9 V% f3 @, E G1.4 Tomcat 8.5之后的新特性 12 p9 k0 O# K: ], G0 S6 a
1.5 小结 13
x) Z3 n, c$ [/ r第2章 Tomcat总体架构 14
1 E. b5 r) D/ j! I1 u4 K9 C: W2.1 总体设计 14
- I( u4 m. L8 B2.1.1 Server 14/ j. ~ ~! B" x/ b9 U9 }& I
2.1.2 Connector和Container 15
3 V: S/ q6 R( q6 X0 Z2.1.3 Container设计 17$ ?$ L5 X/ G6 |( B# C* q8 B- }: \0 f: o
2.1.4 Lifecycle 204 @( M& |/ Z. ?9 W
2.1.5 Pipeline和Valve 23% P: Q$ s6 F7 K( [7 b
2.1.6 Connector设计 24+ E' b7 ?- h) u
2.1.7 Executor 26
! u9 j1 z0 L( x# I& N( j) W" a: t+ x2.1.8 Bootstrap和Catalina 28( f; D9 d% w. d" l' J
2.2 Tomcat启动 30
2 v# ^- t! R% t3 F6 ?& x4 w) v2.3 请求处理 31& v' }: S* h2 [- j' F9 `8 S
2.4 类加载器 335 J7 e P- S8 ^
2.4.1 J2SE标准类加载器 33, x" w3 ]3 I7 i# C p9 N
2.4.2 Tomcat加载器 34
$ |1 s3 Q1 G1 i( M& J8 S2.4.3 Web应用类加载器 36
2 G" P3 y" [# D7 X! {2 K2.5 小结 379 e N6 G' Y; G8 k" X
第3章 Catalina 38- G! Y) F! G6 g; a( N& i0 p$ O! C' V; y
3.1 什么是Catalina 38
) _7 u) |5 S1 n7 j8 b/ ?0 I- c5 O; N3.2 Digester 39
& q7 x7 E$ G- ~3.2.1 对象栈 40
- j+ U. X: z: {2 i; @3.2.2 匹配模式 412 Z4 T3 L S/ L8 L* C! v& Y5 M O
3.2.3 处理规则 41
. F% y; e% e0 S0 Y! C3.2.4 示例程序 42" Q" s4 f! h0 W: N
3.3 创建Server 44
% z% z p% I2 I; t* v3.3.1 Server的解析 45$ B+ ?& R) t5 ]
3.3.2 Engine的解析 48
K1 F( B, h' c a5 E3.3.3 Host的解析 497 Z# Q, ?; l1 `& X7 e+ c Q
3.3.4 Context的解析 50
3 }0 ?7 a2 c" }; y# _' s+ z3.4 Web应用加载 53
1 E; O* U% q& \0 q; W, Q% J6 _3.4.1 StandardHost 54
. P3 E: X9 B' Y1 h# R# Z3.4.2 HostConfig 56
. w$ S+ z9 m, E3.4.3 StandardContext 60. \) y; I ] L' V
3.4.4 ContextConfig 64
- T. C' M9 p# ?! ]8 Y& C. a/ m" X3.4.5 StandardWrapper 69( Q1 y1 m7 C/ j' x
3.4.6 Context命名规则 69
, d) w# \$ Q7 B3.5 Web请求处理 71
9 P# X" M: {) H3.5.1 总体过程 71
6 u& \: P1 [9 M, b# e+ H, c3.5.2 请求映射 728 U' Q4 F2 B# n6 l
3.5.3 Catalina请求处理 806 |) m$ f$ ^9 k* r" [
3.6 DefaultServlet和JspServlet 81
. j; F9 o; Y, @" D# ~, h$ ]3.6.1 DefaultServlet 82
l0 e0 U$ v3 T7 H7 C* ?1 ` T3.6.2 JspServlet 84
X/ q+ u3 L7 Q" ~3.7 小结 85
7 J. I, o! P' b9 {5 k7 u8 [: @/ x! @第4章 Coyote 86
4 Q* }! O- K: `1 I1 X$ u4.1 什么是Coyote 86+ a. w1 J+ |: e: k9 p' U* z" V
4.2 Web请求处理 88: h9 q. ]. P/ G, O9 D9 }- u& U
4.2.1 主要概念 88
4 |3 e% g" L- M; k' J, ~6 H$ q4.2.2 请求处理 90* k' g' o5 X5 E. B' X
4.2.3 协议升级 92
4 ?+ ~9 X' K( @/ m+ p, `8 i4.3 HTTP 94 m! `/ J# C9 y U: P7 G
4.3.1 基础知识 94
5 d& x/ K& A |. z5 v4.3.2 配置方式 95
% h2 h0 Z; W' u' w2 _. k3 `) f4.4 AJP 97
/ j3 C* h) {6 K7 X4.4.1 基础知识 97
$ K* D0 }* d1 f7 R% _0 E4.4.2 Web服务器组件 103- c/ F3 |# Y2 Z
4.4.3 配置方式 106* e \9 v) V6 [6 e/ o u
4.5 HTTP 2.0 106
- q& x/ E; {6 e( H- A% r8 w4.5.1 基础知识 1061 j. \; S* i, x0 U
4.5.2 配置方式 110
7 r2 _6 C) n8 a! v8 W4.6 I O 1114 Q4 {3 `: k/ m% k
4.6.1 BIO 112; r3 d. r+ U7 D6 b/ @2 r# y
4.6.2 NIO 1156 L) \) L R9 F$ Y( z, n: _
4.6.3 NIO2 121
. z) R4 P" Y& @: z7 n4.6.4 APR 130
0 B7 R" G" `) q4.7 小结 134
, L5 A, D/ q% M, a8 d; O- `第5章 Jasper 1362 {# ], U( {! {
5.1 Jasper简介 136
$ `! Q" `9 o2 b2 ^" n1 \6 z5.2 JSP编译方式 1378 v" G( K0 _! E: Q/ l0 u9 G" |' M
5.2.1 运行时编译 137: u' ^ m) a h
5.2.2 预编译 141
. |- M$ I- F% s3 o H5.3 JSP编译原理 1446 A, q3 Z/ X4 C" s
5.4 小结 151( i4 K4 g! W9 V" V" g/ a
第6章 Tomcat配置管理 152
( O. q$ A2 B" |2 i4 h1 m6 f6.1 JVM配置 152
0 |5 s1 c$ a$ I7 _& H6.1.1 JVM配置选项 152' l2 b& ?! L9 K' w3 n
6.1.2 系统属性 153
7 [% }& ^" X# K" ~6.2 服务器配置 158
3 F! j+ O- a Z: F6.2.1 catalina.properties 158/ m8 z. ^# @- c C
6.2.2 server.xml 159& o. t) u7 U ]5 e. y5 u! K8 `
6.2.3 context.xml 172
+ C3 z. L$ Q; d y( s& K6.3 Web应用配置 172
% C) z; c' @7 H& p1 g6.3.1 ServletContext初始化参数 173# P/ E- w% U$ l! N! _7 H- X
6.3.2 会话配置 174
0 c, z1 Q- R; R6.3.3 Servlet声明及映射 175
! x7 Y3 x- `. b% H) l+ t( `3 {6.3.4 应用生命周期监听器 177
; o2 N- D9 I1 m5 X0 f G8 v6.3.5 Filter定义及映射 177
: s1 v4 U0 [" M/ [. R6.3.6 MIME类型映射 1787 Z7 w: _4 P) O, `, ~
6.3.7 欢迎文件列表 178' ~0 Y; x/ X" ]# b# n$ p f
6.3.8 错误页面 179
* D! L, C( d" x' X$ Q' x6.3.9 本地化及编码映射 179
: ]$ g- f# N+ I6.3.10 安全配置 179, ?- O2 f1 i" q& t; \% j* m
6.3.11 JNDI配置 180
3 J8 R( @& l1 P: @# [6.3.12 其他 183
7 k% o; D4 n- ?/ h) X6.4 Web应用过滤器 185' l9 f4 Y8 E- a' L- a% o
6.4.1 CorsFilter 186& x* a/ }, {. o3 h( J
6.4.2 CsrfPreventionFilter 188
8 O3 p/ o. N7 M X/ r/ p( e3 S/ R6.4.3 ExpiresFilter 1882 H, a. i. t2 @+ i4 U+ }+ I/ j
6.4.4 FailedRequestFilter 190
* d0 X4 a2 i g( Y! }% z8 J7 F! o" U6.4.5 RemoteAddrFilter 191- ~- R Z/ M- @* e" I2 G; m/ g
6.4.6 RemoteHostFilter 191* s0 ]7 \( Y% S4 e i0 x
6.4.7 RemoteIpFilter 192, p6 w5 q4 B; k5 p5 a ]
6.4.8 RequestDumperFilter 195( f0 X5 c, L, v7 T7 v0 Y5 H/ N
6.4.9 SetCharacterEncodingFilter 195# m& x( Y4 U4 p1 W
6.4.10 WebdavFixFilter 196
1 T3 q: s$ S) d6 T6.5 Tomcat管理 196
9 z, ?( r* u" G$ P% o% o& ^6.5.1 host-manager 196
, E0 ~, C% L5 g o6.5.2 manager 197
% t0 q! g' i# p' Z/ {0 D6.5.3 管理命令行 1992 L; Y8 z8 q; Z6 L
6.5.4 Ant任务 200
4 \- B8 t: L8 r( M; {9 [6.5.5 JMX 201
! X+ W2 d, s# H4 a2 K6.6 小结 201. B, m2 n( K8 M
第7章 Web服务器集成 2020 _, Q; l$ a3 z' ?8 S
7.1 Web服务器与应用服务器的区别 202& p% {, @4 N/ Z3 N; Y B
7.2 集成应用场景 205# w* h% J3 I$ B8 h2 T8 R- f
7.3 与Apache HTTP Server集成 206+ ?% c% M d) X0 ?5 z
7.3.1 Windows环境安装 206( M# Z3 w: u0 e f. ^' C8 `
7.3.2 Linux环境安装 207
( G5 T, Z5 z. W* r4 D0 H7.3.3 mod_jk 209
# ~9 O! e$ Q( T+ ^7.3.4 mod_proxy_ajp 229" Y6 i. H* g1 b W& M
7.4 与Ngnix集成 235+ T0 X9 `; z3 L j. M' S. h0 u
7.4.1 Ngnix简介 235
/ ?( t6 a( f3 i8 N" o! i7.4.2 Windows环境安装 237
- V# S6 F% ?! c5 s" s1 F7.4.3 Linux环境安装 237- x+ U/ h1 N0 v! E* b6 r% `# r
7.4.4 Tomcat集成 2415 k' \* G( }1 |6 p8 L' M( X
7.5 与IIS集成 243
' U* O. k2 n% C; f9 S2 A! h( \7.6 小结 2430 |( u3 p! ?4 {7 [; O( M
第8章 Tomcat集群 244& h7 Y( e/ s4 z
8.1 Tomcat集群介绍 244
* R. f3 G, Q( q# o8.1.1 Tomcat集群基础 2464 _* Q) |2 V; C+ L" |
8.1.2 Apache Tribes 247% A3 q. I7 v" ?) p5 J6 i
8.1.3 Tomcat集群组件实现 253. _9 o7 I* o ]* {2 ^% n
8.2 集群配置 254" ^/ X5 K, e% ^, p6 x
8.3 会话同步 255
! t5 ^+ V: [1 W. F) Z) [/ [8.3.1 DeltaManager 256* j; [% ?3 V2 i. ?" H& `: N
8.3.2 BackupManager 257
% b2 ]! ]2 G$ j: m, T+ m8.3.3 替代方案 257
: L* }9 U( V/ Y8.4 集群部署 258* p* l, o! Z7 A. \6 r; o; }
8.4.1 实现原理 258
; ~8 B1 G' \ e. O8.4.2 配置方式 259
) o3 h# g; |# _3 @- M8.5 小结 259
) p0 m, e. ^$ H6 y: M6 p) t) Y& ?第9章 Tomcat安全 260% {# L; D9 n9 d$ ~ l0 m1 M
9.1 配置安全 2609 l8 e1 D7 t7 L; M% p m, f" j. l
9.1.1 安装部署问题 2609 D( P. }$ J, u
9.1.2 server.xml配置 261# f8 n+ M: x3 T2 e# n8 h
9.2 应用安全 2630 G; r5 b$ o8 @. t
9.2.1 Realm 264
" i/ A* Y0 a! ~$ U5 @. P9.2.2 HttpServletRequest 265
. u- g/ r: F! c, p0 A8 x9 R' S9.2.3 Authenticator 266
9 ~: i9 v) N; T) P9.3 传输安全(SSL) 267( E& E) t* O5 _7 _7 ?9 i- D4 `
9.4 Java安全策略 2737 g* Y2 {" d- s, \9 g8 L
9.4.1 简介 273
9 X1 F0 [4 l/ D$ u9.4.2 catalina.policy 275
! z! ~5 l+ V6 v' X9.5 小结 279" e; q L; ^/ u4 O* d# L' g4 |
第10章 Tomcat性能调优 280
4 R. S# r0 I# z' D10.1 Tomcat性能测试及诊断 281- U, h* R9 I4 Y; Q9 l3 E
10.1.1 常见测试方式 281* O, L4 N) Q9 q- l
10.1.2 性能测试工具 282
7 S, A) l) T4 [! L' u2 u3 Z8 t+ |' t& R10.1.3 数据采集及分析 2903 F4 T8 c2 p) s9 s+ {- q7 D2 @
10.2 Tomcat性能优化 303( z. \7 C: C8 m' B# `3 C
10.2.1 JVM优化 304
& x! z3 h( ^: c8 T10.2.2 Tomcat配置 308! m) C/ a9 x. L" \& ?+ ^* s
10.3 应用性能优化建议 311: F& w0 q$ D( D/ v& h
10.4 小结 312 java8.com$ \) T+ ?9 {1 m2 `3 w
第11章 Tomcat附加功能 313" ]1 F/ a' }9 `6 F/ }5 B
11.1 Tomcat的嵌入式启动 313
8 k3 |1 _ J6 I% o: e( [11.1.1 为什么需要嵌入式启动 313% a' p; u, p. ]9 ]* G( ?1 m2 C) u z, L
11.1.2 嵌入式启动Tomcat 314. a+ ~7 \1 y, t+ [2 w/ |
11.1.3 嵌入式启动服务器 316) U. m2 b4 }8 R" N* u+ y0 U4 _
11.2 Tomcat中的JNDI 317
" ?0 v' E* a' s, S% k* b- F) W$ B1 Q! l11.2.1 什么是JNDI 317: W/ t/ e1 F6 b- C* o& K# O2 h
11.2.2 Tomcat中的JNDI 318; C7 l7 V* n! \4 Z+ E
11.3 Comet和WebSocket 320. ]3 z# C# ], K' z* {5 J
11.3.1 什么是Comet 321; N3 Q& x$ [ _" w+ `! A6 {
11.3.2 Tomcat的Comet实现 322
6 J. D: R1 |: V/ T11.3.3 什么是WebSocket 326( W7 y+ z3 |: z7 o. F }
11.3.4 Tomcat的WebSocket实现 3284 H' T, B4 b7 v
11.4 小结 3354 }1 X% |8 q7 ^0 b v) }
附录 server.xml配置 336+ S& I3 G" {3 N+ q( L. o" }
结束语 370" j& o. t5 G* k# m0 _
1 S" M) u3 `4 A, w: I3 g! |+ Q) [; n# I5 m# o
: l0 f& x( y/ s& l% u/ C. s9 J百度云盘下载地址(完全免费-绝无套路):2 d, }# H/ o: \( f- x6 D. j% {& q
* c/ \1 [# \6 C, H4 x( A; L7 ^( f- {$ ?$ ^
" t9 R- r, ~0 E; ?+ x/ _
: {% e! B# j8 v% ]5 y2 k
0 f, E4 g# i) z9 o+ y0 P
2 n: ^# @3 `+ N9 }0 g$ x/ F3 B
|