
掃描右側(cè)圖片或微信搜索 “ Java技術(shù)分享屋 ” ,回復(fù) “ 驗證碼 ” ,獲取驗證密碼。
本資料僅供讀者預(yù)覽及學(xué)習(xí)交流使用,不能用于商業(yè)用途,請在下載后24小時內(nèi)刪除。如果喜歡,請購買正版!
一.資料截圖
二.資料介紹
本書深入剖析Tomcat 4和Tomcat 5中的每個組件,并揭示其內(nèi)部工作原理。通過學(xué)習(xí)本書,你將可以自行開發(fā)Tomcat組件,或者擴(kuò)展已有的組件。 Tomcat是目前比較流行的Web服務(wù)器之一。作為一個開源和小型的輕量級應(yīng)用服務(wù)器,Tomcat 易于使用,便于部署,但Tomcat本身是一個非常復(fù)雜的系統(tǒng),包含了很多功能模塊。這些功能模塊構(gòu)成了Tomcat的核心結(jié)構(gòu)。本書從最基本的HTTP請求開始,直至使用JMX技術(shù)管理Tomcat中的應(yīng)用程序,逐一剖析Tomcat的基本功能模塊,并配以示例代碼,使讀者可以逐步實(shí)現(xiàn)自己的Web服務(wù)器。
三.資料目錄
譯者序
前 言
第1章 一個簡單的Web服務(wù)器1
1.1 HTTP1
1.1.1 HTTP請求1
1.1.2 HTTP響應(yīng)2
1.2 Socket類3
1.3 應(yīng)用程序5
1.3.1 HttpServer類5
1.3.2 Request類8
1.3.3 Response類10
1.3.4 運(yùn)行應(yīng)用程序12
1.4 小結(jié)13
第2章 一個簡單的servlet容器14
2.1 javax.servlet.Servlet接口14
2.2 應(yīng)用程序 116
2.2.1 HttpServer1類17
2.2.2 Request類19
2.2.3 Response類21
2.2.4 StaticResourceProcessor類23
2.2.5 servletProcessor1類24
2.2.6 運(yùn)行應(yīng)用程序27
2.3 應(yīng)用程序227
2.4 小結(jié)30
第3章 連接器31
3.1 StringManager類31
3.2 應(yīng)用程序33
3.2.1 啟動應(yīng)用程序35
3.2.2 HttpConnector類36
3.2.3 創(chuàng)建HttpRequest對象38
3.2.4 創(chuàng)建HttpResponse對象49
3.2.5 靜態(tài)資源處理器和servlet處理器50
3.2.6 運(yùn)行應(yīng)用程序50
3.3 小結(jié)52
第4章 Tomcat的默認(rèn)連接器53
4.1 HTTP 1.1的新特性54
4.1.1 持久連接54
4.1.2 塊編碼54
4.1.3 狀態(tài)碼100的使用55
4.2 Connector接口55
4.3 HttpConnector類56
4.3.1 創(chuàng)建服務(wù)器套接字56
4.3.2 維護(hù)HttpProcessor實(shí)例56
4.3.3 提供HTTP請求服務(wù)57
4.4 HttpProcessor類58
4.5 Request對象61
4.6 Response對象62
4.7 處理請求62
4.7.1 解析連接65
4.7.2 解析請求65
4.7.3 解析請求頭65
4.8 簡單的Container應(yīng)用程序66
4.9 小結(jié)70
第5章 servlet容器71
5.1 Container接口71
5.2 管道任務(wù)73
5.2.1 Pipeline接口76
5.2.2 Valve接口76
5.2.3 ValveContext接口76
5.2.4 Contained接口77
5.3 Wrapper接口77
5.4 Context接口78
5.5 Wrapper應(yīng)用程序78
5.5.1 ex05.pyrmont.core.SimpleLoader類78
5.5.2 ex05.pyrmont.core.SimplePipeline類79
5.5.3 ex05.pyrmont.core.SimpleWrapper類79
5.5.4 ex05.pyrmont.core.SimpleWrapperValve類80
5.5.5 ex05.pyrmont.valves.ClientIPLoggerValve類81
5.5.6 ex05.pyrmont.valves.HeaderLoggerValve類81
5.5.7 ex05.pyrmont.startup.Bootstrap182
5.5.8 運(yùn)行應(yīng)用程序84
5.6 Context應(yīng)用程序84
5.6.1 ex05.pyrmont.core.SimpleContextValve類87
5.6.2 ex05.pyrmont.core.SimpleContextMapper類87
5.6.3 ex05.pyrmont.core.SimpleContext類89
5.6.4 ex05.pyrmont.startup.Bootstrap289
5.6.5 運(yùn)行應(yīng)用程序91
5.7 小結(jié)92
第6章 生命周期93
6.1 Lifecycle接口93
6.2 LifecycleEvent類94
6.3 LifecycleListener接口94
6.4 LifecycleSupport類95
6.5 應(yīng)用程序97
6.5.1 ex06.pyrmont.core.SimpleContext類97
6.5.2 ex06.pyrmont.core.SimpleContextLifecycleListener類100
6.5.3 ex06.pyrmont.core.SimpleLoader類101
6.5.4 ex06.pyrmont.core.SimplePipeline類101
6.5.5 ex06.pyrmont.core.SimpleWrapper類101
6.5.6 運(yùn)行應(yīng)用程序103
6.6 小結(jié)104
第7章 日志記錄器105
7.1 Logger接口105
7.2 Tomcat的日志記錄器106
7.2.1 LoggerBase類106
7.2.2 SystemOutLogger類107
7.2.3 SystemErrLogger類107
7.2.4 FileLogger類108
7.3 應(yīng)用程序111
7.4 小結(jié)112
第8章 載入器113
8.1 Java的類載入器113
8.2 Loader接口114
8.3 Reloader接口116
8.4 WebappLoader類116
8.4.1 創(chuàng)建類載入器117
8.4.2 設(shè)置倉庫118
8.4.3 設(shè)置類路徑118
8.4.4 設(shè)置訪問權(quán)限118
8.4.5 開啟新線程執(zhí)行類的重新載入118
8.5 WebappClassLoader類120
8.5.1 類緩存120
8.5.2 載入類121
8.5.3 應(yīng)用程序121
8.6 運(yùn)行應(yīng)用程序124
8.7 小結(jié)124
第9章 Session管理125
9.1 Session對象126
9.1.1 Session接口126
9.1.2 StandardSession類127
9.1.3 StandardSessionFacade類129
9.2 Manager130
9.2.1 Manager接口130
9.2.2 ManagerBase類131
9.2.3 StandardManager類132
9.2.4 PersistentManagerBase類133
9.2.5 PersistentManager類135
9.2.6 DistributedManager類135
9.3 存儲器136
9.3.1 StoreBase類137
9.3.2 FileStore類138
9.3.3 JDBCStore類139
9.4 應(yīng)用程序139
9.4.1 Bootstrap類139
9.4.2 SimpleWrapperValve類140
9.4.3 運(yùn)行應(yīng)用程序141
9.5 小結(jié)142
第10章 安全性143
10.1 領(lǐng)域143
10.2 GenericPrincipal類144
10.3 LoginConfig類145
10.4 Authenticator接口145
10.5 安裝驗證器閥146
10.6 應(yīng)用程序147
10.6.1 ex10.pyrmont.core.SimpleContextConfig類147
10.6.2 ex10.pyrmont.realm.SimpleRealm類149
10.6.3 ex10.pyrmont.realm.SimpleUserDatabaseRealm152
10.6.4 ex10.pyrmont.startup.Bootstrap1類154
10.6.5 ex10.pyrmont.startup.Bootstrap2類156
10.6.6 運(yùn)行應(yīng)用程序158
10.7 小結(jié)158
第11章 StandardWrapper159
11.1 方法調(diào)用序列159
11.2 SingleThreadModel160
11.3 StandardWrapper161
11.3.1 分配servlet實(shí)例162
11.3.2 載入servlet類164
11.3.3 ServletConfig對象167
11.3.4 servlet容器的父子關(guān)系169
11.4 StandardWrapperFacade類170
11.5 StandardWrapperValve類171
11.6 FilterDef類172
11.7 ApplicationFilterConfig類174
11.8 ApplicationFilterChain類175
11.9 應(yīng)用程序175
11.10 小結(jié)177
第12章 StandardContext類178
12.1 StandardContext的配置178
12.1.1 StandardContext類的構(gòu)造函數(shù)179
12.1.2 啟動StandardContext實(shí)例179
12.1.3 invoke()方法183
12.2 StandardContextMapper類184
12.3 對重載的支持187
12.4 backgroundProcess()方法188
12.5 小結(jié)190
第13章 Host和Engine191
13.1 Host接口191
13.2 StandardHost類193
13.3 StandardHostMapper類195
13.4 StandardHostValve類196
13.5 為什么必須要有一個Host容器197
13.6 應(yīng)用程序1198
13.7 Engine接口199
13.8 StandardEngine類201
13.9 StandardEngineValve類201
13.10 應(yīng)用程序2202
13.11 小結(jié)203
第14章 服務(wù)器組件和服務(wù)組件204
14.1 服務(wù)器組件204
14.2 StandardServer類206
14.2.1 initialize()方法206
14.2.2 start()方法207
14.2.3 stop()方法207
14.2.4 await()方法208
14.3 Service接口209
14.4 StandardService類211
14.4.1 connector和container211
14.4.2 與生命周期有關(guān)的方法213
14.5 應(yīng)用程序215
14.5.1 Bootstrap類215
14.5.2 Stopper類217
14.5.3 運(yùn)行應(yīng)用程序218
14.6 小結(jié)219
第15章 Digester庫220
15.1 Digester庫221
15.1.1 Digester類221
15.1.2 Digester庫示例1225
15.1.3 Digester庫示例2227
15.1.4 Rule類230
15.1.5 Digester庫示例3:使用RuleSet232
15.2 ContextConfig類234
15.2.1 defaultConfig()方法236
15.2.2 applicationConfig()方法238
15.2.3 創(chuàng)建Web Digester239
15.3 應(yīng)用程序243
15.4 小結(jié)244
第16章 關(guān)閉鉤子245
16.1 關(guān)閉鉤子的例子246
16.2 Tomcat中的關(guān)閉鉤子250
16.3 小結(jié)250
第17章 啟動Tomcat251
17.1 Catalina類251
17.1.1 start()方法253
17.1.2 stop()方法256
17.1.3 啟動Digester對象256
17.1.4 關(guān)閉Digester對象258
17.2 Bootstrap類259
17.3 在Windows平臺上運(yùn)行Tomcat264
17.3.1 如何編寫批處理文件264
17.3.2 catalina.bat批處理文件267
17.3.3 在Windows平臺上啟動Tomcat276
17.3.4 在Windows平臺上關(guān)閉Tomcat277
17.4 在Linux平臺上運(yùn)行Tomcat278
17.4.1 如何編寫UNIX/Linux Shell腳本278
17.4.2 catalina.sh腳本283
17.4.3 在UNIX/Linux平臺上啟動Tomcat288
17.4.4 在UNIX/Linux平臺上關(guān)閉Tomcat289
17.5 小結(jié)290
第18章 部署器291
18.1 部署一個Web應(yīng)用程序291
18.1.1 部署一個描述符294
18.1.2 部署一個WAR文件295
18.1.3 部署一個目錄297
18.1.4 動態(tài)部署297
18.2 Deploy接口299
18.3 StandardHostDeployer類302
18.3.1 安裝一個描述符303
18.3.2 安裝一個WAR文件或目錄304
18.3.3 啟動Context實(shí)例305
18.3.4 停止一個Context實(shí)例306
18.4 小結(jié)306
第19章 Manager應(yīng)用程序的servlet類307
19.1 使用Manager應(yīng)用程序307
19.2 Containerservlet接口309
19.3 初始化ManagerServlet309
19.4 列出已經(jīng)部署的Web應(yīng)用程序311
19.5 啟動Web應(yīng)用程序312
19.6 關(guān)閉Web應(yīng)用程序313
19.7 小結(jié)314
第20章 基于JMX的管理315
20.1 JMX簡介315
20.2 JMX API316
20.2.1 MBeanServer類316
20.2.2 ObjectName類317
20.3 標(biāo)準(zhǔn)MBean318
20.4 模型MBean321
20.4.1 MBeanInfo接口與ModelMBeanInfo接口322
20.4.2 ModelMBean示例323
20.5 Commons Modeler庫326
20.5.1 MBean描述符327
20.5.2 mbean元素示例328
20.5.3 自己編寫一個模型 MBean類329
20.5.4 Registry類329
20.5.5 ManagedBean329
20.5.6 BaseModelMBean329
20.5.7 使用Modeler庫API330
20.6 Catalian中的MBean332
20.6.1 ClassNameMBean類333
20.6.2 StandardServerMBean類333
20.6.3 MBeanFactory類334
20.6.4 MBeanUtil335
20.7 創(chuàng)建Catalina的MBean335
20.8 應(yīng)用程序339
20.9 小結(jié)342