Java电子书:Tomcat架构解析 PDF 电子书 Java吧 java8.com
* c. m9 \3 i. q+ b, a% G9 w
, S9 K: u0 B, }3 L- a% J作者:刘光瑞出版社:人民邮电出版社出版时间:2017年04月( A6 ]$ a. {% [
) W0 V4 i7 | Y; ^# I# S) i
编号:166-Java吧资源免费-X0069【Java吧 java8.com】3 f+ q; q* x4 s, f1 T
, E- j4 g2 a. w
4 w) k( F9 ~8 y1 Q" e! d
; j/ q# u% c( \目录:7 N- V' W/ v$ O# C3 F9 P8 C: p3 Z
第1章 Tomcat介绍 1
- ?3 V& z% ~1 e6 H& u" B& ]1.1 简介 1+ d& ?% {: a x* s7 C$ i/ c- m
1.1.1 Tomcat历史 1& [2 T( m6 u: e# [7 s u
1.1.2 Tomcat许可 2 _( Y2 |& l% U6 O6 ~5 f
1.2 安装和启动 30 I6 v+ i, }! U2 D' D+ Q- m5 z
1.2.1 Tomcat下载与安装 3 K9 c# G5 I8 ^ ~) i
1.2.2 Tomcat启动 4
: W6 [9 {6 h* W8 c% A1.2.3 IDE启动 5
9 y1 O# i2 M! F7 L0 |% w2 C1.2.4 嵌入式启动 10
0 w, e+ y' p; E3 G( h, ]' x1.2.5 Debug启动 111 Q; P' p: n% h7 N
1.3 Tomcat目录结构 126 |+ i8 ^, q1 }. u1 m- |
1.4 Tomcat 8.5之后的新特性 12
+ u/ h$ g2 e4 S4 ] x2 m- h$ c1.5 小结 13! Z3 m }# R* o4 N
第2章 Tomcat总体架构 14
. q6 u u6 x4 Y2.1 总体设计 14! q$ b" }# d, S- S
2.1.1 Server 14 u6 S, k$ C( U( ]( S$ ?
2.1.2 Connector和Container 15
! D/ I1 V) m3 ~/ ?- V! z5 M2.1.3 Container设计 17
# \7 M8 ~. a7 q% `" \2.1.4 Lifecycle 20
6 e3 l! Y6 B2 e+ _# S4 t' n' g8 _2.1.5 Pipeline和Valve 237 e9 C6 }* b! Z" u
2.1.6 Connector设计 24
$ A$ s2 q$ A* Q+ N1 P2.1.7 Executor 26) e& o- t7 G+ T; d
2.1.8 Bootstrap和Catalina 282 A4 t# `1 d) q' |& m* S% S2 s& O
2.2 Tomcat启动 30$ b8 `) Q U/ x+ L/ Y4 I
2.3 请求处理 31( C9 }) l! @% f2 E
2.4 类加载器 33
; ^( {% F$ ]/ i; o. R _2.4.1 J2SE标准类加载器 33) U* g5 L' n- @/ C* j
2.4.2 Tomcat加载器 342 E% N3 J4 i. P% I
2.4.3 Web应用类加载器 36! o! S% g+ s+ N! o* d8 O3 L
2.5 小结 37& {$ b* T, U1 }9 s6 M
第3章 Catalina 384 D0 W$ h% S1 N( I8 o; \) X6 n
3.1 什么是Catalina 38
2 A+ K: v+ n, a% s4 C b3.2 Digester 39" K L9 V, f. a; T8 }
3.2.1 对象栈 400 q3 i% T4 [& O! {
3.2.2 匹配模式 41
! ^; c) r0 J( v. J" E/ p3.2.3 处理规则 41
; I$ [! A* |# O# }- b3.2.4 示例程序 42
3 e6 x. A8 a9 d8 }3.3 创建Server 442 b( M: d5 H% g% U% H7 K' S4 j& I
3.3.1 Server的解析 45
5 [; n, O7 m* Z( o4 |: u3.3.2 Engine的解析 48
. W) ?4 _6 H! k0 d& t3.3.3 Host的解析 49: Q2 u6 V9 o: @& v' Y' L4 d
3.3.4 Context的解析 50
9 k2 O7 I5 ]5 N' ^3.4 Web应用加载 535 i5 H8 l2 K. t% U ]; u9 y [
3.4.1 StandardHost 54
$ H8 [3 P5 b3 {. N) D1 p& D3.4.2 HostConfig 56$ a) X3 l. h/ t. w5 Z z
3.4.3 StandardContext 60& k. o* z1 f1 M0 V
3.4.4 ContextConfig 641 X- y2 ~0 R4 A- G4 m: A% T% y
3.4.5 StandardWrapper 693 T1 ?0 d. a, q+ h
3.4.6 Context命名规则 69: P: H: y. K2 s+ F
3.5 Web请求处理 71+ i7 U A1 ^2 [
3.5.1 总体过程 71
' L& o7 }1 g# S5 b( B& T q3.5.2 请求映射 72
6 l* V1 x V1 l2 S8 Q8 F9 L8 H, m3.5.3 Catalina请求处理 80
& J, `! @0 w4 E* _* J* Q3.6 DefaultServlet和JspServlet 81$ Q% J/ N. q0 b* z( h0 a) h
3.6.1 DefaultServlet 824 n& b$ T& h5 `8 b8 s8 F0 Q0 S
3.6.2 JspServlet 84% d3 L* `" G7 R
3.7 小结 85
2 b( r" X5 k& _, U第4章 Coyote 86) U6 A0 Q' a, O7 F. ?) L+ n/ i
4.1 什么是Coyote 86
5 Y, m" g" y! e3 L" Q4.2 Web请求处理 88' P; O d# v5 j% q$ C
4.2.1 主要概念 88( J) u! D9 V; U' b" R
4.2.2 请求处理 90# R& w' ], a2 d
4.2.3 协议升级 92
! U+ X9 C+ s7 j+ d) _4 Q4.3 HTTP 949 M/ I: B* G; G4 { I0 t9 `0 h
4.3.1 基础知识 942 o: ~- [% v# [: i+ Q
4.3.2 配置方式 95
, G R. T, W8 d" w; c4.4 AJP 97
1 A% W. e# a' d% [& m& m8 g1 g4.4.1 基础知识 97
/ ^1 }' V. R0 y8 b/ _1 y4.4.2 Web服务器组件 103
/ q0 {8 c/ }8 T$ S4.4.3 配置方式 106
" v* ^% R. s1 P( x4.5 HTTP 2.0 106- n8 X; Z8 E- J0 z
4.5.1 基础知识 106
& H) w$ x) p$ D8 Z# P1 H4 h. G H0 K! \% W4.5.2 配置方式 110
1 d8 ~0 y V! i/ ]; r4.6 I O 1115 N9 L6 z: i u9 \: u% k4 l4 g
4.6.1 BIO 112
% H) r1 @0 ?0 |# c6 F! j4.6.2 NIO 115
! b( U9 M5 r, R4.6.3 NIO2 121: s$ z. a. r& ?) J8 e& k! s
4.6.4 APR 130
5 D4 b1 D' p: b4 S4.7 小结 134
/ s1 I& h4 b. N9 l- N L5 j6 J. _第5章 Jasper 136% c. w( u7 a( U' t1 V$ t6 t+ L
5.1 Jasper简介 136
. h2 u6 O1 ]& q9 _% v/ a5.2 JSP编译方式 137
" P# Z, }5 |$ a% i4 |; T9 [5.2.1 运行时编译 137; L' m" |* W/ ^- o$ I1 v! K
5.2.2 预编译 1413 v! F) |6 t6 T1 p! w
5.3 JSP编译原理 144+ [6 |* x* w$ S4 @3 w) W. C
5.4 小结 151$ M, G8 L4 S. c, T5 Q
第6章 Tomcat配置管理 152$ n2 z% e% y1 f7 [, F0 u% M: y
6.1 JVM配置 152+ j( b) f! M* P( |" J' P
6.1.1 JVM配置选项 152- ]& V: E ^' t) K# y8 [0 {) }
6.1.2 系统属性 1531 D+ n8 v5 \' \7 X: n
6.2 服务器配置 1580 p! a% Z# J- n2 d7 b" J% B0 _9 q
6.2.1 catalina.properties 158; C! }( F2 b, ?* \9 o" k& i# a* H
6.2.2 server.xml 159
3 m2 k3 m! p+ k$ F6.2.3 context.xml 172
& U' I* k. o1 o b( e6.3 Web应用配置 172
) @3 T" U2 y5 s7 G6.3.1 ServletContext初始化参数 173: b+ ^# i- a" T0 ~ ^
6.3.2 会话配置 174: r2 G1 t+ P+ A0 |/ ]6 ~# X7 m
6.3.3 Servlet声明及映射 175
; s3 t( R u5 @( c& S& i. Q4 U- \6.3.4 应用生命周期监听器 1774 W' }9 }) _! ?% Q" B& d+ b
6.3.5 Filter定义及映射 177
. t* R+ c2 F2 v" L( p6.3.6 MIME类型映射 178( p7 N0 R7 C) S3 w0 T8 a1 v
6.3.7 欢迎文件列表 178
& l5 _( i; P( Z* N' `- ]" |+ P6.3.8 错误页面 179
}6 k) D& T6 ]1 O8 X$ _, J6.3.9 本地化及编码映射 1796 \$ b$ K _( H
6.3.10 安全配置 179
" A6 r; q3 F% F! d Q6.3.11 JNDI配置 180
, |1 c3 V: i, o4 P3 }) `' M3 J2 u6.3.12 其他 183
* s; F: x9 d* q! i, }6.4 Web应用过滤器 185
; m) l, a0 l0 H( G" k i+ s6.4.1 CorsFilter 186! r$ Z, d4 I s6 o
6.4.2 CsrfPreventionFilter 188
7 B! e9 K& V/ p6.4.3 ExpiresFilter 188* V1 f) @" C- |4 e( U# E
6.4.4 FailedRequestFilter 190! K: @0 [/ {5 @) u2 c
6.4.5 RemoteAddrFilter 191
q+ C8 m7 U3 O" ~8 H) I9 x8 W" `6.4.6 RemoteHostFilter 191
* ?2 H. ]( w7 N# u* O4 G6.4.7 RemoteIpFilter 192
, d1 a/ ?& V, w1 ^6 b, g! `6.4.8 RequestDumperFilter 195
5 p1 P; e+ |' E6.4.9 SetCharacterEncodingFilter 195! `* c* O8 j# w/ g
6.4.10 WebdavFixFilter 1961 N, _/ P! z) F; [* f; V
6.5 Tomcat管理 1969 b9 r! ? o1 D4 }" N' a
6.5.1 host-manager 196& _* u: Y( L- e2 A1 [
6.5.2 manager 197
8 V4 t& A+ e' `9 Y5 e {& l3 s6.5.3 管理命令行 199: m. e) ~8 ~2 O3 g+ h
6.5.4 Ant任务 200
4 } l+ a4 c1 m" I6.5.5 JMX 2011 l/ [% j8 ~! X" A9 \5 e
6.6 小结 201; K( Q* M" e7 ?# _8 h' R
第7章 Web服务器集成 202. {) T& T+ M% Y1 ~) L% I
7.1 Web服务器与应用服务器的区别 202; ^: Q" U, Y. e6 K4 M' j2 D
7.2 集成应用场景 205
; @, G2 ~0 y. ]! N9 N2 R9 @7.3 与Apache HTTP Server集成 2065 f% V+ M) X! ?7 f" R: j0 v! c: U' e- T
7.3.1 Windows环境安装 2065 ?6 q& y" |- t9 s
7.3.2 Linux环境安装 207$ }/ ^; ~/ t- [4 O4 Q3 ]
7.3.3 mod_jk 2098 x/ M/ g9 c, B# @2 U
7.3.4 mod_proxy_ajp 229
& m* ^. F3 }* }' w$ f7.4 与Ngnix集成 2352 ~4 \) T. D6 c
7.4.1 Ngnix简介 235
1 E) Q6 W8 U+ }9 i9 y7.4.2 Windows环境安装 237# ~( [" J; v/ o3 a
7.4.3 Linux环境安装 237
6 M/ i$ o3 V" `' z, R7.4.4 Tomcat集成 2416 E7 c' X% G/ O9 ^& t) W u
7.5 与IIS集成 243
+ U% F/ x6 @9 o2 P: a3 i* l- x7.6 小结 2435 G# y8 s/ }: z' A5 X6 [ ?
第8章 Tomcat集群 244
$ u, ]; U2 T6 P( N( b8.1 Tomcat集群介绍 244, d5 j; \/ }$ l' j& p" d9 O
8.1.1 Tomcat集群基础 246# `( @, ]3 W; D; k6 A' ~
8.1.2 Apache Tribes 247
' s$ B Q; e% Y; a8.1.3 Tomcat集群组件实现 253
* ?5 q3 ?, C8 h% q& Q8 c) z+ o& ?0 h8.2 集群配置 254, d: w7 [* C3 Y6 C# V2 H0 r
8.3 会话同步 255: X2 `0 y& e% o/ A7 ?8 O
8.3.1 DeltaManager 2565 W# {, I8 K3 d7 q5 C
8.3.2 BackupManager 257* U: h; [0 m- }1 ^
8.3.3 替代方案 257! A" d8 X2 M0 Q
8.4 集群部署 258
; z" x+ Q, z/ _/ p. P5 Z8.4.1 实现原理 258
3 X/ @1 V: H( ~8.4.2 配置方式 259
, j. H ?6 t# j! M8.5 小结 2597 n3 G, j8 m4 U4 F
第9章 Tomcat安全 260" U4 L1 `4 h! D7 W
9.1 配置安全 260
4 p& a1 d( Z1 ~9.1.1 安装部署问题 260
. N. r2 U+ e3 x9.1.2 server.xml配置 261
5 |* q, j& ~. \: p" w6 K9 a9.2 应用安全 263
7 z V ]+ N2 E0 T7 h5 Q9.2.1 Realm 264
& E% t, [: v3 K6 v, W/ e/ v- L9.2.2 HttpServletRequest 265
2 v, ~" o3 f; y( R \6 Y. A9.2.3 Authenticator 266
( v* r' O, V' g9.3 传输安全(SSL) 267
& G# q/ c: k* c0 N. [; I% Z- M9.4 Java安全策略 273
7 ]6 Q! `( p# R. e9.4.1 简介 273
9 f9 R$ |, c: Q6 _7 D9 }6 H9.4.2 catalina.policy 275
4 Z( z: [$ |2 k9 @# Y4 M9.5 小结 279
& A9 [ p) r' `4 l第10章 Tomcat性能调优 280% C h! F/ u# H4 t# q, F" R% ]
10.1 Tomcat性能测试及诊断 281, T, A$ u5 m3 J4 H. E
10.1.1 常见测试方式 281( B) \1 J* j$ A' Z5 s3 ^- t: G1 G
10.1.2 性能测试工具 282
$ w9 q; ^$ d5 y$ E, I' U j- Q0 j10.1.3 数据采集及分析 2905 V# `" K; }0 X! \( y
10.2 Tomcat性能优化 303" M6 T1 y% [( p: R9 r4 r
10.2.1 JVM优化 3043 l- {/ P3 G3 M3 }- J% r4 o
10.2.2 Tomcat配置 308
/ i+ N+ n% b' G4 N' P, M+ ?10.3 应用性能优化建议 311
" }0 V$ \; f# u( N7 p2 Q10.4 小结 312 java8.com$ K) |- x& z' ~1 }1 M
第11章 Tomcat附加功能 313
% }" \) U) T- t) c# ]( x11.1 Tomcat的嵌入式启动 313
2 I% s$ }0 @7 [4 i, v- ?5 g1 E11.1.1 为什么需要嵌入式启动 313: N) p+ F+ D* K% ]
11.1.2 嵌入式启动Tomcat 314
2 B5 j# R$ a6 O3 z, @8 f* k! N11.1.3 嵌入式启动服务器 3161 W0 Z) G* [1 |( d: V
11.2 Tomcat中的JNDI 3172 V6 [/ y( ~8 _0 y) O" m( a. E; q
11.2.1 什么是JNDI 317
; o8 w) R" i1 S ?& Q& V$ Q11.2.2 Tomcat中的JNDI 318% k$ N- K7 q) ^4 l( q) H- c3 N
11.3 Comet和WebSocket 320# b2 V- b& k0 ~$ [) F: {
11.3.1 什么是Comet 3215 T& v) L) `" U
11.3.2 Tomcat的Comet实现 322* N. n$ n0 m7 @* ^% ~
11.3.3 什么是WebSocket 326# E) C; E' S3 b c% l' M# O
11.3.4 Tomcat的WebSocket实现 328
1 c% ~3 k- T: d0 i2 ~! m11.4 小结 335$ e. A/ R; V" l w2 B$ X
附录 server.xml配置 336
, r6 Z; W* l: J0 l2 d结束语 370
: P8 w6 l" _& L8 `/ }- ?
7 i- p0 H" c$ V+ ?% o6 x. V; M; ?( _' O3 B- k
0 ]8 c9 K7 r# g# ~5 ~百度云盘下载地址(完全免费-绝无套路):
/ y& E% R/ F A" ~
, i ^4 Y1 @8 S- x6 R, Y
l8 S7 m- h# q2 M$ \3 k3 q3 I9 X0 x7 h7 h/ c6 C) E3 s
3 G8 z- X! w3 Z( T
$ H: }+ P( _4 l% B6 W2 c! F |