《Tomcat架構解析》是2020年3月人民郵電出版社出版的圖書,作者是劉光瑞。
基本介紹
- 書名:Tomcat架構解析
- 作者:劉光瑞
- ISBN:9787115453693
- 頁數:369頁
- 定價:79元
- 出版社:人民郵電出版社
- 出版時間:2020年3月
- 裝幀:平裝
- 開本:16開
內容簡介,圖書目錄,
內容簡介
Tomcat架構解析 基於Tomcat 8.5.x全面介紹了Tomcat的架構、各組件的實現方案以及使用方式,主要包括Tomcat的基礎組件架構以及工作原理,Tomcat各組件的實現方案、使用方式以及詳細配置說明,Tomcat與Web伺服器集成以及性能最佳化,Tomcat部分擴展特性介紹等。讀院棄者可以了解套用伺服器的架構以及工作原理,學習Tomcat的使用、最佳化以及詳細配置。
圖書目錄
第1章 Tomcat介紹 1
1.1 簡介 1
1.1.1 Tomcat歷鞏說墓史 1
1.1.2 Tomcat許可 2
1.2 安裝和啟動 3
1.2.1 Tomcat下去榜喇載與安裝 3
1.2.2 Tomcat啟動 4
1.2.3 IDE啟動 5
1.2.4 嵌入式啟動 10
1.2.5 Debug啟動 11
1.3 Tomcat結構 12
1.4 Tomcat 8.5之後的新特性 12
1.5 小結 13
第 2章 Tomcat總體架堡燥捆屑構 14
2.1 總體設計 14
2.1.1 Server 14
2.1.2 Connector和Container 15
2.1.3 Container設計 17
2.1.4 Lifecycle 20
2.1.5 Pipeline和Valve 23
2.1.6 Connector設計 24
2.1.7 Executor 26
2.1.8 Bootstrap和Catalina 28
2.2 Tomcat啟動 30
2.3 請謎海記葛求處理 31
2.4 類載入器 33
2.4.1 J2SE標準類載入器 33
2.4.2 Tomcat載入器 34
2.4.3 Web套用類載入器 36
2.5 小結 37
第3章 Catalina 38
3.1 什麼是Catalina 38
3.2 Digester 39
3.2.1 對象棧 40
3.2.2 匹配模式 41
3.2.3 處理規則 41
3.2.4 示例程式 42
3.3 創建Server 44
3.3.1 Server的解析 45
3.3.2 Engine的解析 48
3.3.3 Host的解析 49
3.3.4 Context的解析 50
3.4 Web套用載入 53
3.4.1 StandardHost 54
3.4.2 HostConfig 56
3.4.3 StandardContext 60
3.4.4 ContextConfig 64
3.4.5 StandardWrapper 69
3.4.6 Context命名規則 69
3.5 Web請求處理 71
3.5.1 總體過程 71
3.5.2 請求映射 72
3.5.3 Catalina請求處理 80
3.6 DefaultServlet和JspServlet 81
3.6.1 DefaultServlet 82
3.6.2 JspServlet 84
3.7 小結 85
第4章 Coyote 86
4.1 什麼是Coyote 86
4.2 Web請求處理 88
4.2.1 主要概念 88
4.2.2 請求處理 90
4.2.3 協定升級 92
4.3 HTTP 94
4.3.1 基礎知識 94
4.3.2 配置方式 95
4.4 AJP 97
4.4.1 基礎知識 97
4.4.2 Web伺服器組件 103
4.4.3 配置方式 106
4.5 HTTP/2.0 106
4.5.1 基礎知識 106
4.5.2 配置方式 110
4.6 I/O 111
4.6.1 BIO 112
4.6.2 NIO 115
4.6.3 NIO2 121
4.6.4 鑽懂全APR 130
4.7 小結 134
第5章 Jasper 136
5.1 Jasper簡介 136
5.2 JSP編譯方式 137
5.2.1 運行時編譯 137
5.2.2 預編譯 141
5.3 JSP編譯原理 144
5.4 小結 151
第6章 Tomcat配置管理 152
6.1 JVM配置 152
6.1.1 JVM配置選項 152
6.1.2 系統屬性 153
6.2 服務巴駝付器配置 158
6.2.1 catalina.properties 158
6.2.2 server.xml 159
6.2.3 context.xml 172
6.3 Web套用配置 172
6.3.1 ServletContext初始化參數 173
6.3.2 會話配置 174
6.3.3 Servlet聲明及映射 175
6.3.4 套用生命周期監聽器 177
6.3.5 Filter定義及映射 177
6.3.6 MIME類型映射 178
6.3.7 歡迎檔案列表 178
6.3.8 錯誤頁面 179
6.3.9 本地化及編碼映射 179
6.3.10 安全配置 179
6.3.11 JNDI配置 180
6.3.12 其他 183
6.4 Web套用過濾器 185
6.4.1 CorsFilter 186
6.4.2 CsrfPreventionFilter 188
6.4.3 ExpiresFilter 188
6.4.4 FailedRequestFilter 190
6.4.5 RemoteAddrFilter 191
6.4.6 RemoteHostFilter 191
6.4.7 RemoteIpFilter 192
6.4.8 RequestDumperFilter 195
6.4.9 SetCharacterEncodingFilter 195
6.4.10 WebdavFixFilter 196
6.5 Tomcat管理 196
6.5.1 host-manager 196
6.5.2 manager 197
6.5.3 管理命令行 199
6.5.4 Ant任務 200
6.5.5 JMX 201
6.6 小結 201
第7章 Web伺服器集成 202
7.1 Web伺服器與套用伺服器的區別 202
7.2 集成套用場景 205
7.3 與Apache HTTP Server集成 206
7.3.1 Windows環境安裝 206
7.3.2 Linux環境安裝 207
7.3.3 mod_jk 209
7.3.4 mod_proxy_ajp 229
7.4 與Ngnix集成 235
7.4.1 Ngnix簡介 235
7.4.2 Windows環境安裝 237
7.4.3 Linux環境安裝 237
7.4.4 Tomcat集成 241
7.5 與IIS集成 243
7.6 小結 243
第8章 Tomcat集群 244
8.1 Tomcat集群介紹 244
8.1.1 Tomcat集群基礎 246
8.1.2 Apache Tribes 247
8.1.3 Tomcat集群組件實現 253
8.2 集群配置 254
8.3 會話同步 255
8.3.1 DeltaManager 256
8.3.2 BackupManager 257
8.3.3 替代方案 257
8.4 集群部署 258
8.4.1 實現原理 258
8.4.2 配置方式 259
8.5 小結 259
第9章 Tomcat安全 260
9.1 配置安全 260
9.1.1 安裝部署問題 260
9.1.2 server.xml配置 261
9.2 套用安全 263
9.2.1 Realm 264
9.2.2 HttpServletRequest 265
9.2.3 Authenticator 266
9.3 傳輸安全(SSL) 267
9.4 Java安全策略 273
9.4.1 簡介 273
9.4.2 catalina.policy 275
9.5 小結 279
第 10章 Tomcat性能調優 280
10.1 Tomcat性能測試及診斷 281
10.1.1 常見測試方式 281
10.1.2 性能測試工具 282
10.1.3 數據採集及分析 290
10.2 Tomcat性能最佳化 303
10.2.1 JVM最佳化 304
10.2.2 Tomcat配置 308
10.3 套用性能最佳化建議 311
10.4 小結 312
第 11章 Tomcat附加功能 313
11.1 Tomcat的嵌入式啟動 313
11.1.1 為什麼需要嵌入式啟動 313
11.1.2 嵌入式啟動Tomcat 314
11.1.3 嵌入式啟動伺服器 316
11.2 Tomcat中的JNDI 317
11.2.1 什麼是JNDI 317
11.2.2 Tomcat中的JNDI 318
11.3 Comet和WebSocket 320
11.3.1 什麼是Comet 321
11.3.2 Tomcat的Comet實現 322
11.3.3 什麼是WebSocket 326
11.3.4 Tomcat的WebSocket實現 328
11.4 小結 335
附錄 server.xml配置 336
結束語 370
3.5 Web請求處理 71
3.5.1 總體過程 71
3.5.2 請求映射 72
3.5.3 Catalina請求處理 80
3.6 DefaultServlet和JspServlet 81
3.6.1 DefaultServlet 82
3.6.2 JspServlet 84
3.7 小結 85
第4章 Coyote 86
4.1 什麼是Coyote 86
4.2 Web請求處理 88
4.2.1 主要概念 88
4.2.2 請求處理 90
4.2.3 協定升級 92
4.3 HTTP 94
4.3.1 基礎知識 94
4.3.2 配置方式 95
4.4 AJP 97
4.4.1 基礎知識 97
4.4.2 Web伺服器組件 103
4.4.3 配置方式 106
4.5 HTTP/2.0 106
4.5.1 基礎知識 106
4.5.2 配置方式 110
4.6 I/O 111
4.6.1 BIO 112
4.6.2 NIO 115
4.6.3 NIO2 121
4.6.4 APR 130
4.7 小結 134
第5章 Jasper 136
5.1 Jasper簡介 136
5.2 JSP編譯方式 137
5.2.1 運行時編譯 137
5.2.2 預編譯 141
5.3 JSP編譯原理 144
5.4 小結 151
第6章 Tomcat配置管理 152
6.1 JVM配置 152
6.1.1 JVM配置選項 152
6.1.2 系統屬性 153
6.2 伺服器配置 158
6.2.1 catalina.properties 158
6.2.2 server.xml 159
6.2.3 context.xml 172
6.3 Web套用配置 172
6.3.1 ServletContext初始化參數 173
6.3.2 會話配置 174
6.3.3 Servlet聲明及映射 175
6.3.4 套用生命周期監聽器 177
6.3.5 Filter定義及映射 177
6.3.6 MIME類型映射 178
6.3.7 歡迎檔案列表 178
6.3.8 錯誤頁面 179
6.3.9 本地化及編碼映射 179
6.3.10 安全配置 179
6.3.11 JNDI配置 180
6.3.12 其他 183
6.4 Web套用過濾器 185
6.4.1 CorsFilter 186
6.4.2 CsrfPreventionFilter 188
6.4.3 ExpiresFilter 188
6.4.4 FailedRequestFilter 190
6.4.5 RemoteAddrFilter 191
6.4.6 RemoteHostFilter 191
6.4.7 RemoteIpFilter 192
6.4.8 RequestDumperFilter 195
6.4.9 SetCharacterEncodingFilter 195
6.4.10 WebdavFixFilter 196
6.5 Tomcat管理 196
6.5.1 host-manager 196
6.5.2 manager 197
6.5.3 管理命令行 199
6.5.4 Ant任務 200
6.5.5 JMX 201
6.6 小結 201
第7章 Web伺服器集成 202
7.1 Web伺服器與套用伺服器的區別 202
7.2 集成套用場景 205
7.3 與Apache HTTP Server集成 206
7.3.1 Windows環境安裝 206
7.3.2 Linux環境安裝 207
7.3.3 mod_jk 209
7.3.4 mod_proxy_ajp 229
7.4 與Ngnix集成 235
7.4.1 Ngnix簡介 235
7.4.2 Windows環境安裝 237
7.4.3 Linux環境安裝 237
7.4.4 Tomcat集成 241
7.5 與IIS集成 243
7.6 小結 243
第8章 Tomcat集群 244
8.1 Tomcat集群介紹 244
8.1.1 Tomcat集群基礎 246
8.1.2 Apache Tribes 247
8.1.3 Tomcat集群組件實現 253
8.2 集群配置 254
8.3 會話同步 255
8.3.1 DeltaManager 256
8.3.2 BackupManager 257
8.3.3 替代方案 257
8.4 集群部署 258
8.4.1 實現原理 258
8.4.2 配置方式 259
8.5 小結 259
第9章 Tomcat安全 260
9.1 配置安全 260
9.1.1 安裝部署問題 260
9.1.2 server.xml配置 261
9.2 套用安全 263
9.2.1 Realm 264
9.2.2 HttpServletRequest 265
9.2.3 Authenticator 266
9.3 傳輸安全(SSL) 267
9.4 Java安全策略 273
9.4.1 簡介 273
9.4.2 catalina.policy 275
9.5 小結 279
第 10章 Tomcat性能調優 280
10.1 Tomcat性能測試及診斷 281
10.1.1 常見測試方式 281
10.1.2 性能測試工具 282
10.1.3 數據採集及分析 290
10.2 Tomcat性能最佳化 303
10.2.1 JVM最佳化 304
10.2.2 Tomcat配置 308
10.3 套用性能最佳化建議 311
10.4 小結 312
第 11章 Tomcat附加功能 313
11.1 Tomcat的嵌入式啟動 313
11.1.1 為什麼需要嵌入式啟動 313
11.1.2 嵌入式啟動Tomcat 314
11.1.3 嵌入式啟動伺服器 316
11.2 Tomcat中的JNDI 317
11.2.1 什麼是JNDI 317
11.2.2 Tomcat中的JNDI 318
11.3 Comet和WebSocket 320
11.3.1 什麼是Comet 321
11.3.2 Tomcat的Comet實現 322
11.3.3 什麼是WebSocket 326
11.3.4 Tomcat的WebSocket實現 328
11.4 小結 335
附錄 server.xml配置 336
結束語 370