深刻剖析Tomcat

深刻剖析Tomcatjava

下載地址 https://pan.baidu.com/s/1aQqDFkboz39RXSQa-h8zLg緩存

掃碼下面二維碼關注公衆號回覆 100147獲取分享碼
image.png
本書目錄結構以下:安全

第1章 一個簡單的Web服務器1服務器

1.1 HTTP1app

1.1.1 HTTP請求1函數

1.1.2 HTTP響應2編碼

1.2 Socket類3spa

1.3 應用程序5線程

1.3.1 HttpServer類5日誌

1.3.2 Request類8

1.3.3 Response類10

1.3.4 運行應用程序12

1.4 小結13

第2章 一個簡單的servlet容器14

2.1 javax.servlet.Servlet接口14

2.2 應用程序 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 運行應用程序27

2.3 應用程序227

2.4 小結30

第3章 鏈接器31

3.1 StringManager類31

3.2 應用程序33

3.2.1 啓動應用程序35

3.2.2 HttpConnector類36

3.2.3 建立HttpRequest對象38

3.2.4 建立HttpResponse對象49

3.2.5 靜態資源處理器和servlet處理器50

3.2.6 運行應用程序50

3.3 小結52

第4章 Tomcat的默認鏈接器53

4.1 HTTP 1.1的新特性54

4.1.1 持久鏈接54

4.1.2 塊編碼54

4.1.3 狀態碼100的使用55

4.2 Connector接口55

4.3 HttpConnector類56

4.3.1 建立服務器套接字56

4.3.2 維護HttpProcessor實例56

4.3.3 提供HTTP請求服務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應用程序66

4.9 小結70

第5章 servlet容器71

5.1 Container接口71

5.2 管道任務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應用程序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 運行應用程序84

5.6 Context應用程序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 運行應用程序91

5.7 小結92

第6章 生命週期93

6.1 Lifecycle接口93

6.2 LifecycleEvent類94

6.3 LifecycleListener接口94

6.4 LifecycleSupport類95

6.5 應用程序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 運行應用程序103

6.6 小結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 應用程序111

7.4 小結112

第8章 載入器113

8.1 Java的類載入器113

8.2 Loader接口114

8.3 Reloader接口116

8.4 WebappLoader類116

8.4.1 建立類載入器117

8.4.2 設置倉庫118

8.4.3 設置類路徑118

8.4.4 設置訪問權限118

8.4.5 開啓新線程執行類的從新載入118

8.5 WebappClassLoader類120

8.5.1 類緩存120

8.5.2 載入類121

8.5.3 應用程序121

8.6 運行應用程序124

8.7 小結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 應用程序139

9.4.1 Bootstrap類139

9.4.2 SimpleWrapperValve類140

9.4.3 運行應用程序141

9.5 小結142

第10章 安全性143

10.1 領域143

10.2 GenericPrincipal類144

10.3 LoginConfig類145

10.4 Authenticator接口145

10.5 安裝驗證器閥146

10.6 應用程序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 運行應用程序158

10.7 小結158

第11章 StandardWrapper159

11.1 方法調用序列159

11.2 SingleThreadModel160

11.3 StandardWrapper161

11.3.1 分配servlet實例162

11.3.2 載入servlet類164

11.3.3 ServletConfig對象167

11.3.4 servlet容器的父子關係169

11.4 StandardWrapperFacade類170

11.5 StandardWrapperValve類171

11.6 FilterDef類172

11.7 ApplicationFilterConfig類174

11.8 ApplicationFilterChain類175

11.9 應用程序175

11.10 小結177

第12章 StandardContext類178

12.1 StandardContext的配置178

12.1.1 StandardContext類的構造函數179

12.1.2 啓動StandardContext實例179

12.1.3 invoke()方法183

12.2 StandardContextMapper類184

12.3 對重載的支持187

12.4 backgroundProcess()方法188

12.5 小結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 應用程序1198

13.7 Engine接口199

13.8 StandardEngine類201

13.9 StandardEngineValve類201

13.10 應用程序2202

13.11 小結203

第14章 服務器組件和服務組件204

14.1 服務器組件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 與生命週期有關的方法213

14.5 應用程序215

14.5.1 Bootstrap類215

14.5.2 Stopper類217

14.5.3 運行應用程序218

14.6 小結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 建立Web Digester239

15.3 應用程序243

15.4 小結244

第16章 關閉鉤子245

16.1 關閉鉤子的例子246

16.2 Tomcat中的關閉鉤子250

16.3 小結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 關閉Digester對象258

17.2 Bootstrap類259

17.3 在Windows平臺上運行Tomcat264

17.3.1 如何編寫批處理文件264

17.3.2 catalina.bat批處理文件267

17.3.3 在Windows平臺上啓動Tomcat276

17.3.4 在Windows平臺上關閉Tomcat277

17.4 在Linux平臺上運行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平臺上關閉Tomcat289

17.5  小結290

第18章 部署器291

18.1 部署一個Web應用程序291

18.1.1 部署一個描述符294

18.1.2 部署一個WAR文件295

18.1.3 部署一個目錄297

18.1.4 動態部署297

18.2 Deploy接口299

18.3 StandardHostDeployer類302

18.3.1 安裝一個描述符303

18.3.2 安裝一個WAR文件或目錄304

18.3.3 啓動Context實例305

18.3.4 中止一個Context實例306

18.4 小結306

第19章 Manager應用程序的servlet類307

19.1 使用Manager應用程序307

19.2 Containerservlet接口309

19.3 初始化ManagerServlet309

19.4 列出已經部署的Web應用程序311

19.5 啓動Web應用程序312

19.6 關閉Web應用程序313

19.7 小結314

第20章 基於JMX的管理315

20.1 JMX簡介315

20.2 JMX API316

20.2.1 MBeanServer類316

20.2.2 ObjectName類317

20.3 標準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 建立Catalina的MBean335

20.8 應用程序339

20.9 小結342

相關文章
相關標籤/搜索