出版時(shí)間:2011-12-31 出版社:機(jī)械工業(yè)出版社華章公司 作者:Budi Kurniawan,Paul Deck 頁數(shù):342 譯者:曹旭東
Tag標(biāo)簽:無
內(nèi)容概要
本書深入剖析Tomcat 4和Tomcat
5中的每個(gè)組件,并揭示其內(nèi)部工作原理。通過學(xué)習(xí)本書,你將可以自行開發(fā)Tomcat組件,或者擴(kuò)展已有的組件。
Tomcat是目前比較流行的Web服務(wù)器之一。作為一個(gè)開源和小型的輕量級應(yīng)用服務(wù)器,Tomcat
易于使用,便于部署,但Tomcat本身是一個(gè)非常復(fù)雜的系統(tǒng),包含了很多功能模塊。這些功能模塊構(gòu)成了Tomcat的核心結(jié)構(gòu)。本書從最基本的HTTP請求開始,直至使用JMX技術(shù)管理Tomcat中的應(yīng)用程序,逐一剖析Tomcat的基本功能模塊,并配以示例代碼,使讀者可以逐步實(shí)現(xiàn)自己的Web服務(wù)器。
作者簡介
Budi Kurniawan是《Java for Web With Servlets, JSP and
EJB》的作者,同時(shí)也是一位IT咨詢師,主要研究方向包括互聯(lián)網(wǎng)與面向?qū)ο蟪绦蛟O(shè)計(jì)。除了其他一些計(jì)算機(jī)圖書,他已經(jīng)在10多種出版物上發(fā)表了約100篇文章,其中包括一些享有盛譽(yù)的Java雜志,如《Java.net》、《JavaPro》、《JavaWorld》等。Budi也是Brainysoftware.com的應(yīng)用程序File
Upload Bean的作者,在世界范圍內(nèi)很多公司都獲得授權(quán)并使用該應(yīng)用程序。
Paul
Deck是一個(gè)有15多年經(jīng)驗(yàn)的IT架構(gòu)師,參與了很多項(xiàng)目的開發(fā),這些項(xiàng)目遍布在美國、加拿大、中國和澳大利亞。他喜歡旅行,對網(wǎng)絡(luò)、互聯(lián)網(wǎng)編程、設(shè)計(jì)模式和用戶界面交互設(shè)計(jì)非常感興趣。
譯者序:
Tomcat是Apache 軟件基金會(huì)(Apache Software
Foundation)的一個(gè)頂級項(xiàng)目,由Apache、Sun和其他一些公司及個(gè)人共同開發(fā),是目前比較流行的Web服務(wù)器之一。作為一個(gè)開源的、小型的輕量級應(yīng)用服務(wù)器,Tomcat深受廣大程序員的喜愛,具有占用系統(tǒng)資源少,擴(kuò)展性好,支持負(fù)載平衡與郵件服務(wù)等開發(fā)應(yīng)用系統(tǒng)常用的功能;而且它還在不斷地改進(jìn)和完善中,任何一個(gè)感興趣的程序員都可以更改它或在其中加入新的功能。
雖然Tomcat易于使用,便于部署,但Tomcat本身是一個(gè)非常復(fù)雜的系統(tǒng),包含了很多功能模塊。這些功能模塊密切合作,各司其職,構(gòu)成了Tomcat的核心結(jié)構(gòu)。作者從最基本的HTTP請求開始,直至使用JMX技術(shù)管理Tomcat中的應(yīng)用程序,逐步深入,逐一剖析Tomcat的基本功能模塊,并配以示例代碼,使讀者可以逐步實(shí)現(xiàn)自己的一個(gè)Web服務(wù)器。
當(dāng)然,本書并不能完全覆蓋Tomcat,書中并沒有包含Tomcat的太多設(shè)計(jì)思路及具體的實(shí)現(xiàn)細(xì)節(jié),而是更注重對Tomcat基本結(jié)構(gòu)的分析介紹。在每一章中都有與本章內(nèi)容相關(guān)的示例應(yīng)用程序,幫助讀者更好地理解該章的內(nèi)容。
本書由曹旭東翻譯,由于時(shí)間倉促,加上譯者水平有限,書中難免有疏漏之處,望廣大讀者予以指正。
曹旭東
書籍目錄
譯者序
前言
第1章 一個(gè)簡單的Web服務(wù)器
1.1 HTTP
1.1.1 HTTP請求
1.1.2 HTTP響應(yīng)
1.2 Socket類
1.3 應(yīng)用程序
1.3.1 HttpServer類
1.3.2 Request類
1.3.3 Response類
1.3.4 運(yùn)行應(yīng)用程序
1.4 小結(jié)
第2章 一個(gè)簡單的servlet容器
2.1 javax.servlet.Servlet接口
2.2 應(yīng)用程序
2.2.1 HttpServer1類
2.2.2 Request類
2.2.3 Response類
2.2.4 StaticResourceProcessor類
2.2.5 servletProcessor1類
2.2.6 運(yùn)行應(yīng)用程序
2.3 應(yīng)用程序
2.4 小結(jié)
第3章 連接器
3.1 StringManager類
3.2 應(yīng)用程序
3.2.1 啟動(dòng)應(yīng)用程序
3.2.2 HttpConnector類
3.2.3 創(chuàng)建HttpRequest對象
3.2.4 創(chuàng)建HttpResponse對象
3.2.5 靜態(tài)資源處理器和servlet處理器
3.2.6 運(yùn)行應(yīng)用程序
3.3 小結(jié)
第4章 Tomcat的默認(rèn)連接器
4.1 HTTP 1.1的新特性
4.1.1 持久連接
4.1.2 塊編碼
4.1.3 狀態(tài)碼100的使用
4.2 Connector接口
4.3 HttpConnector類
4.3.1 創(chuàng)建服務(wù)器套接字
4.3.2 維護(hù)HttpProcessor實(shí)例
4.3.3 提供HTTP請求服務(wù)
4.4 HttpProcessor類
4.5 Request對象
4.6 Response對象
4.7 處理請求
4.7.1 解析連接
4.7.2 解析請求
4.7.3 解析請求頭
4.8 簡單的Container應(yīng)用程序
4.9 小結(jié)
第5章 servlet容器
5.1 Container接口
5.2 管道任務(wù)
5.2.1 Pipeline接口
5.2.2 Valve接口
5.2.3 ValveContext接口
5.2.4 Contained接口
5.3 Wrapper接口
5.4 Context接口
5.5 Wrapper應(yīng)用程序
5.5.1 ex05.pyrmont.core.SimpleLoader類
5.5.2 ex05.pyrmont.core.SimplePipeline類
5.5.3 ex05.pyrmont.core.SimpleWrapper類
5.5.4 ex05.pyrmont.core.SimpleWrapperValve類
5.5.5 ex05.pyrmont.valves.ClientIPLoggerValve類
5.5.6 ex05.pyrmont.valves.HeaderLoggerValve類
5.5.7 ex05.pyrmont.startup.Bootstrap
5.5.8 運(yùn)行應(yīng)用程序
5.6 Context應(yīng)用程序
5.6.1 ex05.pyrmont.core.SimpleContextValve類
5.6.2 ex05.pyrmont.core.SimpleContextMapper類
5.6.3 ex05.pyrmont.core.SimpleContext類
5.6.4 ex05.pyrmont.startup.Bootstrap
5.6.5 運(yùn)行應(yīng)用程序
5.7 小結(jié)
第6章 生命周期
6.1 Lifecycle接口
6.2 LifecycleEvent類
6.3 LifecycleListener接口
6.4 LifecycleSupport類
6.5 應(yīng)用程序
6.5.1 ex06.pyrmont.core.SimpleContext類
6.5.2 ex06.pyrmont.core.SimpleContextLifecycleListener類
6.5.3 ex06.pyrmont.core.SimpleLoader類
6.5.4 ex06.pyrmont.core.SimplePipeline類
6.5.5 ex06.pyrmont.core.SimpleWrapper類
6.5.6 運(yùn)行應(yīng)用程序
6.6 小結(jié)
第7章 日志記錄器
7.1 Logger接口
7.2 Tomcat的日志記錄器
7.2.1 LoggerBase類
7.2.2 SystemOutLogger類
7.2.3 SystemErrLogger類
7.2.4 FileLogger類
7.3 應(yīng)用程序
7.4 小結(jié)
第8章 載入器
8.1 Java的類載入器
8.2 Loader接口
8.3 Reloader接口
8.4 WebappLoader類
8.4.1 創(chuàng)建類載入器
8.4.2 設(shè)置倉庫
8.4.3 設(shè)置類路徑
8.4.4 設(shè)置訪問權(quán)限
8.4.5 開啟新線程執(zhí)行類的重新載入
8.5 WebappClassLoader類
8.5.1 類緩存
8.5.2 載入類
8.5.3 應(yīng)用程序
8.6 運(yùn)行應(yīng)用程序
8.7 小結(jié)
第9章 Session管理
9.1 Session對象
9.1.1 Session接口
9.1.2 StandardSession類
9.1.3 StandardSessionFacade類
9.2 Manager
9.2.1 Manager接口
9.2.2 ManagerBase類
9.2.3 StandardManager類
9.2.4 PersistentManagerBase類
9.2.5 PersistentManager類
9.2.6 DistributedManager類
9.3 存儲(chǔ)器
9.3.1 StoreBase類
9.3.2 FileStore類
9.3.3 JDBCStore類
9.4 應(yīng)用程序
9.4.1 Bootstrap類
9.4.2 SimpleWrapperValve類
9.4.3 運(yùn)行應(yīng)用程序
9.5 小結(jié)
第10章 安全性
10.1 領(lǐng)域
10.2 GenericPrincipal類
10.3 LoginConfig類
10.4 Authenticator接口
10.5 安裝驗(yàn)證器閥
10.6 應(yīng)用程序
10.6.1 ex10.pyrmont.core.SimpleContextConfig類
10.6.2 ex10.pyrmont.realm.SimpleRealm類
10.6.3 ex10.pyrmont.realm.SimpleUserDatabaseRealm
10.6.4 ex10.pyrmont.startup.Bootstrap1類
10.6.5 ex10.pyrmont.startup.Bootstrap2類
10.6.6 運(yùn)行應(yīng)用程序
10.7 小結(jié)
第11章 StandardWrapper
11.1 方法調(diào)用序列
11.2 SingleThreadModel
11.3 StandardWrapper
11.3.1 分配servlet實(shí)例
11.3.2 載入servlet類
11.3.3 ServletConfig對象
11.3.4 servlet容器的父子關(guān)系
11.4 StandardWrapperFacade類
11.5 StandardWrapperValve類
11.6 FilterDef類
11.7 ApplicationFilterConfig類
11.8 ApplicationFilterChain類
11.9 應(yīng)用程序
11.10 小結(jié)
第12章 StandardContext類
12.1 StandardContext的配置
12.1.1 StandardContext類的構(gòu)造函數(shù)
12.1.2 啟動(dòng)StandardContext實(shí)例
12.1.3 invoke()方法
12.2 StandardContextMapper類
12.3 對重載的支持
12.4 backgroundProcess()方法
12.5 小結(jié)
第13章 Host和Engine
13.1 Host接口
13.2 StandardHost類
13.3 StandardHostMapper類
13.4 StandardHostValve類
13.5 為什么必須要有一個(gè)Host容器
13.6 應(yīng)用程序1
13.7 Engine接口
13.8 StandardEngine類
13.9 StandardEngineValve類
13.10 應(yīng)用程序2
13.11 小結(jié)
第14章 服務(wù)器組件和服務(wù)組件
14.1 服務(wù)器組件
14.2 StandardServer類
14.2.1 initialize()方法
14.2.2 start()方法
14.2.3 stop()方法
14.2.4 await()方法
14.3 Service接口
14.4 StandardService類
14.4.1 connector和container
14.4.2 與生命周期有關(guān)的方法
14.5 應(yīng)用程序
14.5.1 Bootstrap類
14.5.2 Stopper類
14.5.3 運(yùn)行應(yīng)用程序
14.6 小結(jié)
第15章 Digester庫
15.1 Digester庫
15.1.1 Digester類
15.1.2 Digester庫示例1
15.1.3 Digester庫示例2
15.1.4 Rule類
15.1.5 Digester庫示例3:使用RuleSet
15.2 ContextConfig類
15.2.1 defaultConfig()方法
15.2.2 applicationConfig()方法
15.2.3 創(chuàng)建Web Digester
15.3 應(yīng)用程序
15.4 小結(jié)
第16章 關(guān)閉鉤子
16.1 關(guān)閉鉤子的例子
16.2 Tomcat中的關(guān)閉鉤子
16.3 小結(jié)
第17章 啟動(dòng)Tomcat
17.1 Catalina類
17.1.1 start()方法
17.1.2 stop()方法
17.1.3 啟動(dòng)Digester對象
17.1.4 關(guān)閉Digester對象
17.2 Bootstrap類
17.3 在Windows平臺(tái)上運(yùn)行Tomcat
17.3.1 如何編寫批處理文件
17.3.2 catalina.bat批處理文件
17.3.3 在Windows平臺(tái)上啟動(dòng)Tomcat
17.3.4 在Windows平臺(tái)上關(guān)閉Tomcat
17.4 在Linux平臺(tái)上運(yùn)行Tomcat
17.4.1 如何編寫UNIX/Linux Shell腳本
17.4.2 catalina.sh腳本
17.4.3 在UNIX/Linux平臺(tái)上啟動(dòng)Tomcat
17.4.4 在UNIX/Linux平臺(tái)上關(guān)閉Tomcat
17.5 小結(jié)
第18章 部署器
18.1 部署一個(gè)Web應(yīng)用程序
18.1.1 部署一個(gè)描述符
18.1.2 部署一個(gè)WAR文件
18.1.3 部署一個(gè)目錄
18.1.4 動(dòng)態(tài)部署
18.2 Deploy接口
18.3 StandardHostDeployer類
18.3.1 安裝一個(gè)描述符
18.3.2 安裝一個(gè)WAR文件或目錄
18.3.3 啟動(dòng)Context實(shí)例
18.3.4 停止一個(gè)Context實(shí)例
18.4 小結(jié)
第19章 Manager應(yīng)用程序的servlet類
19.1 使用Manager應(yīng)用程序
19.2 Containerservlet接口
19.3 初始化ManagerServlet
19.4 列出已經(jīng)部署的Web應(yīng)用程序
19.5 啟動(dòng)Web應(yīng)用程序
19.6 關(guān)閉Web應(yīng)用程序
19.7 小結(jié)
第20章 基于JMX的管理
20.1 JMX簡介
20.2 JMX API
20.2.1 MBeanServer類
20.2.2 ObjectName類
20.3 標(biāo)準(zhǔn)MBean
20.4 模型MBean
20.4.1 MBeanInfo接口與ModelMBeanInfo接口
20.4.2 ModelMBean示例
20.5 Commons Modeler庫
20.5.1 MBean描述符
20.5.2 mbean元素示例
20.5.3 自己編寫一個(gè)模型 MBean類
20.5.4 Registry類
20.5.5 ManagedBean
20.5.6 BaseModelMBean
20.5.7 使用Modeler庫API
20.6 Catalian中的MBean
20.6.1 ClassNameMBean類
20.6.2 StandardServerMBean類
20.6.3 MBeanFactory類
20.6.4 MBeanUtil
20.7 創(chuàng)建Catalina的MBean
20.8 應(yīng)用程序
20.9 小結(jié)
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載