Java电子书:Tomcat架构解析 PDF 电子书 Java吧 java8.com* O3 @6 M1 t9 e- n, N: Y+ z
5 D: O. N/ L9 h
作者:刘光瑞出版社:人民邮电出版社出版时间:2017年04月
( R; u: |/ R. J9 N2 e4 M) i( V; j4 h! R; c
编号:166-Java吧资源免费-X0069【Java吧 java8.com】
4 p% g2 J9 P; Y7 Q7 p& |% }! l+ w+ p+ F. z& [' y' I
+ r, \1 g! I, O/ |1 R) W$ z: L9 R4 L8 ?' s, P2 U$ h% n+ b. T* m
目录:
, }' T! ?, B4 n D第1章 Tomcat介绍 1
; E. P1 `) ^: W: F) f1 M# R1.1 简介 1
1 J/ o' K/ ]* m3 X) q( l+ S9 M( G1.1.1 Tomcat历史 1
8 k) M# @" c8 A$ O9 Y1.1.2 Tomcat许可 2
9 _( b6 t. J$ j1 h7 b5 k3 z% J1 T* E1.2 安装和启动 3+ T' |: \ h8 J1 b
1.2.1 Tomcat下载与安装 3$ ]# z6 e5 Z; q( O1 _
1.2.2 Tomcat启动 4
' i9 h; G8 n& k1 ?! |/ J7 k$ z1.2.3 IDE启动 5
9 w. ]3 ], W3 u( \# W* z1.2.4 嵌入式启动 10
E3 v1 o8 }, d/ g9 U9 k: \( ~7 a1.2.5 Debug启动 11
' D- z+ k! ?) t, r* H2 _9 Z1.3 Tomcat目录结构 12
5 W t$ B2 C$ f, u2 ~1.4 Tomcat 8.5之后的新特性 120 w' i, ~+ ^+ u7 k+ p0 l) @" ^
1.5 小结 13
" u* |7 _4 R1 Z1 d第2章 Tomcat总体架构 14* J9 R- \2 @; O% @% Y* U- m! s
2.1 总体设计 14 j& |( @2 Y6 q8 e) h; ?7 o
2.1.1 Server 14
9 @% C1 a5 H; f, E) T4 b2.1.2 Connector和Container 15
; _! ~ Q; ~9 X& g1 u* O3 F5 S2.1.3 Container设计 17
$ H1 J3 J- R% D1 T2.1.4 Lifecycle 203 A/ _8 T C# ?3 [1 z7 D( r7 v
2.1.5 Pipeline和Valve 23, W Z/ v0 _, f- q' z
2.1.6 Connector设计 245 b( o0 w8 ?$ [1 H3 e5 @
2.1.7 Executor 26
2 }. v0 o; i. R2 J- D0 q: ~2.1.8 Bootstrap和Catalina 28
4 O$ A8 P5 B: v) d( Q' a- `3 f2.2 Tomcat启动 303 o) K- x$ V! E/ ^' c7 ?: A
2.3 请求处理 31* H& t" V' a3 d7 k' h3 C
2.4 类加载器 33
& E1 y9 r% Y# Z6 o2.4.1 J2SE标准类加载器 33. o' o8 Y- f/ n
2.4.2 Tomcat加载器 341 b$ N# O! m: z5 r7 r+ ^( l2 K8 }
2.4.3 Web应用类加载器 36
" H# {6 v2 I) H; c4 g4 R% U2.5 小结 37
! l: w8 J: P& x3 ]; V, U. u9 Q第3章 Catalina 382 _# \; b7 L( y# E! S% m* q
3.1 什么是Catalina 38
% n2 ^3 A( \7 c A. z- V3.2 Digester 39
. q7 g" Y4 W3 P3.2.1 对象栈 40
! _) d3 p: T. I, T* K3.2.2 匹配模式 41
! q) r8 H+ R2 P1 o8 L5 l3.2.3 处理规则 41
$ P8 d3 G9 c0 `' B, S! f& y8 v3.2.4 示例程序 42
+ l) h' _4 V+ V3.3 创建Server 44
: B9 t; [9 z9 P) x$ E1 @9 K( k3.3.1 Server的解析 455 Z; Z) v5 w+ L& x) l
3.3.2 Engine的解析 48
- D q- V' W( w; z1 J+ N0 z3.3.3 Host的解析 49
8 Q/ x6 [0 s) i) b/ j8 r3.3.4 Context的解析 50& i2 b; y6 _) I
3.4 Web应用加载 53' ^. k9 d4 G c" o
3.4.1 StandardHost 54$ R% E3 c4 ^9 X( e4 f& _$ b7 d
3.4.2 HostConfig 567 U3 b- K0 n g; |: _
3.4.3 StandardContext 60
4 T: {0 J/ M4 [( Z* R8 v3.4.4 ContextConfig 64
+ Q0 ?. `3 R+ B, f* H3.4.5 StandardWrapper 692 o8 v7 r, ]9 h1 f/ d7 z; n8 H+ S
3.4.6 Context命名规则 69
0 \& f5 u! b8 p3.5 Web请求处理 71
1 h0 p5 M) k( ]3 \) c5 r2 f; O, r3.5.1 总体过程 71% Q2 c% o4 _) c# ~! f% w5 B
3.5.2 请求映射 72. A0 a+ O, a- q6 q
3.5.3 Catalina请求处理 80
6 a- B; d0 A- V4 e3.6 DefaultServlet和JspServlet 81, g2 T8 w+ P" t- } A5 E
3.6.1 DefaultServlet 82
) r: n% }8 s. ^+ a- f7 ~, [3.6.2 JspServlet 84
7 `7 M% U# b: |% I1 C' o* [3.7 小结 859 H' S" H7 H T' w5 \
第4章 Coyote 86
0 W7 {1 b" {# V' Q. r* K4.1 什么是Coyote 86
* n! ~2 |6 H; i4.2 Web请求处理 88" G/ e, n/ q+ w. J
4.2.1 主要概念 88
- t9 f0 Q M% d8 m4.2.2 请求处理 90
) m: g& y4 ]6 w( E7 r9 s! C4.2.3 协议升级 92$ Y$ v8 L5 ?+ \1 c
4.3 HTTP 94
- n0 P( o" I! X/ h$ O: E" z4.3.1 基础知识 94
4 b+ I' _) o8 r0 I# S4.3.2 配置方式 95
4 b1 U! R l% v0 ]3 B4.4 AJP 97
. F3 `' f3 Z: \4 U4.4.1 基础知识 97, g( \" ?$ X0 P
4.4.2 Web服务器组件 103% G9 J& ?) l! [8 g9 [4 j
4.4.3 配置方式 106+ C, a8 x, h+ Y! L. k A Q
4.5 HTTP 2.0 106, E1 l ^4 f5 S/ ?. w( r* t
4.5.1 基础知识 106+ D ^$ b& L0 }3 ^
4.5.2 配置方式 110
6 o$ V9 R8 k( F1 H/ V4.6 I O 111
( c6 `6 k3 M( T3 E' j4.6.1 BIO 1129 H0 \' k- e+ Q7 B. ~: Q% x, ~
4.6.2 NIO 115* a4 O8 D6 t4 }
4.6.3 NIO2 121
/ l% g. ^7 y+ Z/ B! N3 r' g4.6.4 APR 130, f' M1 x2 G$ q( E5 _
4.7 小结 134
' L1 v. K8 s- ^8 o \ |5 c4 W第5章 Jasper 136: p, w: ?. `' g3 L2 T8 w D
5.1 Jasper简介 136# K# B% x! X+ j9 _" n' ~. [
5.2 JSP编译方式 137
6 \; Y j1 R h4 n6 y4 R- S2 S5.2.1 运行时编译 1370 y9 C" \% [6 e9 D
5.2.2 预编译 141
; E6 p$ Q6 k) F- o1 D8 f) l5.3 JSP编译原理 144$ L+ R% f! S9 V5 Z" }
5.4 小结 1517 p" x L2 t5 k1 b+ H2 Q; s- G4 R
第6章 Tomcat配置管理 152
( I. X3 ?0 \& O: r' \9 T5 P2 w6.1 JVM配置 152: M( L* b' V" J- [$ }& q* V" V
6.1.1 JVM配置选项 152" q8 |4 _# t* B! q
6.1.2 系统属性 153% f7 m* n% `+ }
6.2 服务器配置 158
4 l% E; J5 |4 F( |5 Z0 }6.2.1 catalina.properties 158( W. D; U5 c! r# O: f3 R
6.2.2 server.xml 1596 |+ k% G6 P) ~& l
6.2.3 context.xml 172
6 h) c) W I" s& q# n6.3 Web应用配置 172) \: f8 T3 c) O6 ~6 a! ~
6.3.1 ServletContext初始化参数 173
. O+ m/ ]# e- G6.3.2 会话配置 174) J# S& J8 j" r
6.3.3 Servlet声明及映射 1754 R- R3 \8 y2 O% X+ j3 X
6.3.4 应用生命周期监听器 177
# p2 [' C3 G# J/ `' X2 i6.3.5 Filter定义及映射 177/ ]' v) K; u5 A) X" X
6.3.6 MIME类型映射 1784 ^. i K4 m% R/ y" R
6.3.7 欢迎文件列表 178* H, H" A3 e$ s: g2 B( ^5 g% `
6.3.8 错误页面 179
/ o; |# \) N% ]7 P, O$ c# p6.3.9 本地化及编码映射 179
. C' R, B0 ]% z$ U2 S+ g6.3.10 安全配置 179
/ r e4 B" ^2 z: q8 z! |4 E1 Y6.3.11 JNDI配置 180) r# @; [# O" n# ^& F' c: c! B
6.3.12 其他 183
5 c o8 m& M( s; i3 @, \+ k0 u6.4 Web应用过滤器 185
- E) V# N& H7 y. Q' k( X _8 R6.4.1 CorsFilter 186
% @/ B8 ^% H$ t6.4.2 CsrfPreventionFilter 188 G, r, r8 c8 t% Q( ^! I( T
6.4.3 ExpiresFilter 1883 j8 \& F# d& c8 J2 k: {
6.4.4 FailedRequestFilter 1905 R5 i8 {! Q! S7 \. F$ l
6.4.5 RemoteAddrFilter 191
u5 D p8 ? y: B4 j z7 D: {& X/ j6.4.6 RemoteHostFilter 191) v4 r- ~! Q* D/ V
6.4.7 RemoteIpFilter 192
1 \3 N$ c7 V6 W5 f6.4.8 RequestDumperFilter 195! f2 ]% x# r. s* p3 r3 T8 _
6.4.9 SetCharacterEncodingFilter 195
6 p& b' [+ E, |$ B7 b: } B+ @! ]6.4.10 WebdavFixFilter 196
/ Y% w" x! a: ~6 [& q) X6.5 Tomcat管理 196$ b: A3 j! q2 B2 a- }
6.5.1 host-manager 196
- d" b2 G( b5 S4 ?4 r& n$ ?1 D, U6.5.2 manager 1979 h. e; ?8 ?- ~# L# Q3 m
6.5.3 管理命令行 199
' { J, e+ ~9 C* c* a% r6.5.4 Ant任务 200
; C+ n7 R1 h1 D2 x6.5.5 JMX 201
2 t, c) K& p3 I! C6.6 小结 201+ L3 Q( d* W; _% U% c1 n
第7章 Web服务器集成 202, p0 Z, c# ?0 N% l$ _$ Z
7.1 Web服务器与应用服务器的区别 2027 E/ G ~9 c) I% _7 \% m
7.2 集成应用场景 205
4 c2 L' x* V3 _- W! e/ c7.3 与Apache HTTP Server集成 206
/ U3 W _* _; I2 o7.3.1 Windows环境安装 206
2 o* V8 B8 H7 p7.3.2 Linux环境安装 207& h. @" P1 G2 S
7.3.3 mod_jk 2091 ?7 S& ]+ `3 \' L
7.3.4 mod_proxy_ajp 229& P! K/ j7 p" R# a
7.4 与Ngnix集成 235) g+ Y8 Q' T& {" n9 c$ k( ~0 g6 d
7.4.1 Ngnix简介 235# j% U3 y# Z; s
7.4.2 Windows环境安装 237
( [1 X: h0 B& E! b7.4.3 Linux环境安装 237' n) G, @2 c" A6 b8 x
7.4.4 Tomcat集成 241
- ^/ F7 ?2 |2 z9 U7.5 与IIS集成 243
+ j& F! n2 v% E% \0 I( W6 g7.6 小结 243+ {+ z7 a# X6 \- |5 _+ r
第8章 Tomcat集群 244
% h4 E; {8 S9 a2 p" x0 T8.1 Tomcat集群介绍 244# M- T+ O- n! O* y% J! e2 w
8.1.1 Tomcat集群基础 246. B" i; S3 I) K5 M
8.1.2 Apache Tribes 2472 {9 @- E- G, K! Q+ f& R
8.1.3 Tomcat集群组件实现 2535 P* o2 b# f( `% j2 g ?3 ~
8.2 集群配置 254. t& U# G- |4 p% [- Q1 h
8.3 会话同步 2553 S/ T& g7 k& M7 h+ u. Z- Y
8.3.1 DeltaManager 256
& g8 |( d# H+ O& L8.3.2 BackupManager 257- T ]0 {: L) g% m/ f( W
8.3.3 替代方案 257
" j) Q$ h# j& P' H) z( z) U2 N7 K8.4 集群部署 258
. D# L2 Y) r, a8 s9 w+ j5 Z9 v. q) f" p8.4.1 实现原理 258. Y& a' t4 W4 g/ I: b* K
8.4.2 配置方式 259
% M( e9 r6 e# O+ |8.5 小结 259; E" l: e) W! B' |7 a
第9章 Tomcat安全 260
; I+ L& d# t$ k# K0 ?8 m; l" b9.1 配置安全 2602 c# @; X$ k# i
9.1.1 安装部署问题 2602 e* ^1 t. J2 s$ y# I! X2 k
9.1.2 server.xml配置 261
7 _0 `; h7 u: V9 K9.2 应用安全 263
/ w# A, ]1 K' w+ |% {9 n9.2.1 Realm 264# E$ u# O2 X( }, u$ x
9.2.2 HttpServletRequest 265" i) p3 J6 r* L. A+ e6 \
9.2.3 Authenticator 266
: z. G5 `0 S% U/ |6 E9.3 传输安全(SSL) 267" r1 X! l- ^, [( W s u3 U [$ [
9.4 Java安全策略 2731 J0 \* I, q& ~0 _6 g/ V
9.4.1 简介 273% v; x4 F' a. n' A3 u" |8 f: W$ d# b7 T
9.4.2 catalina.policy 275
. l% v- @- V% [. ^( O' K4 M9.5 小结 2797 r; l. u" B( v$ Z5 |- ?
第10章 Tomcat性能调优 2805 ]# n c( R+ G& L, E% {
10.1 Tomcat性能测试及诊断 281
, @% N' B1 S' `3 G: b2 _10.1.1 常见测试方式 281
( ^% R/ f' t {% I10.1.2 性能测试工具 282- C4 `. B8 ~4 I& o. R, h$ R6 O- f. S
10.1.3 数据采集及分析 290
9 ]8 F6 p# V! c2 J9 a9 L10.2 Tomcat性能优化 303( J0 U1 |6 b+ B& r5 T# o
10.2.1 JVM优化 304
5 R' M7 u' N3 b* D/ w* P2 A# z10.2.2 Tomcat配置 308+ F6 O V- [& n- s
10.3 应用性能优化建议 3112 \9 A! s( z5 S" f
10.4 小结 312 java8.com' c* F9 M! N1 j+ ^' D% s! B/ D: W/ ]
第11章 Tomcat附加功能 313# J2 c6 Y: X) P+ L& i0 Y' J
11.1 Tomcat的嵌入式启动 313' C0 |/ \: f$ K" s/ o, J' F
11.1.1 为什么需要嵌入式启动 313
- V* B' L, Q% i6 T5 E11.1.2 嵌入式启动Tomcat 314
# s5 K7 K1 l O3 q! T7 v; O0 ^1 {11.1.3 嵌入式启动服务器 316* U4 H: L3 r/ A, i9 K) Z8 w" e
11.2 Tomcat中的JNDI 317
$ B$ w5 d; Y* q: @5 @# ^, T( ?11.2.1 什么是JNDI 317 c7 E: N9 |, D* k% S! E: v# T
11.2.2 Tomcat中的JNDI 318" }' o z% T! Q I. [
11.3 Comet和WebSocket 320
; c, @6 x- Q& n& P+ c9 d: w! c11.3.1 什么是Comet 321' N8 {+ `# a& L+ |3 p
11.3.2 Tomcat的Comet实现 322& _$ F4 L1 ^- o% b3 B, C7 C" J
11.3.3 什么是WebSocket 3269 G9 Y7 E( A" o
11.3.4 Tomcat的WebSocket实现 3287 n7 d( S4 Z1 ?6 z* v1 P
11.4 小结 335
T5 u6 t8 V6 L7 L6 m附录 server.xml配置 336# A2 |- n0 q" @( B3 U4 z! U9 |. t
结束语 370
9 b. c; K( d8 b( T$ L7 c 3 r3 m v! _8 x: l
( o9 D# f. ^1 H6 y
, ^, q- v2 y5 z# K2 C6 d& e9 w, l/ X& j/ s
百度云盘下载地址(完全免费-绝无套路):" o9 ?& K$ \4 s7 H0 N
4 A, o0 w; A* E5 m' S' y! g
8 j/ x3 B, U- b" K
* p+ s9 f6 ^+ P3 n6 ]8 j/ @
- w, a2 Q' A1 `
; E3 O/ `& C- l+ H |