深入剖析Tomcat

深入剖析Tomcat
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: , ,
2012-02
版次: 1
ISBN: 9787111369974
定价: 59.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 342页
原版书名: How Tomcat Works: A Guide to Developing Your Own Java Servlet Container
261人买过
  • 《深入剖析Tomcat》深入剖析Tomcat4和Tomcat5中的每个组件,并揭示其内部工作原理。通过学习本书,你将可以自行开发Tomcat组件,或者扩展已有的组件。Tomcat是目前比较流行的Web服务器之一。作为一个开源和小型的轻量级应用服务器,Tomcat易于使用,便于部署,但Tomcat本身是一个非常复杂的系统,包含了很多功能模块。这些功能模块构成了Tomcat的核心结构。《深入剖析Tomcat》从最基本的HTTP请求开始,直至使用JMX技术管理Tomcat中的应用程序,逐一剖析Tomcat的基本功能模块,并配以示例代码,使读者可以逐步实现自己的Web服务器。 BudiKurniawan是《JavaforWebWithServlets,JSPandEJB》的作者,同时也是一位IT咨询师,主要研究方向包括互联网与面向对象程序设计。除了其他一些计算机图书,他已经在10多种出版物上发表了约100篇文章,其中包括一些享有盛誉的Java杂志,如《Java.net》、《JavaPro》、《JavaWorld》等。Budi也是Brainysoftware.com的应用程序FileUploadBean的作者,在世界范围内很多公司都获得授权并使用该应用程序。
    PaulDeck是一个有15多年经验的IT架构师,参与了很多项目的开发,这些项目遍布在美国、加拿大、中国和澳大利亚。他喜欢旅行,对网络、互联网编程、设计模式和用户界面交互设计非常感兴趣。 译者序
    前言
    第1章一个简单的Web服务器
    1.1HTTP
    1.1.1HTTP请求
    1.1.2HTTP响应
    1.2Socket类
    1.3应用程序
    1.3.1HttpServer类
    1.3.2Request类
    1.3.3Response类
    1.3.4运行应用程序
    1.4小结

    第2章一个简单的servlet容器
    2.1javax.servlet.Servlet接口
    2.2应用程序
    2.2.1HttpServer1类
    2.2.2Request类
    2.2.3Response类
    2.2.4StaticResourceProcessor类
    2.2.5servletProcessor1类
    2.2.6运行应用程序
    2.3应用程序
    2.4小结

    第3章连接器
    3.1StringManager类
    3.2应用程序
    3.2.1启动应用程序
    3.2.2HttpConnector类
    3.2.3创建HttpRequest对象
    3.2.4创建HttpResponse对象
    3.2.5静态资源处理器和servlet处理器
    3.2.6运行应用程序
    3.3小结

    第4章Tomcat的默认连接器
    4.1HTTP1.1的新特性
    4.1.1持久连接
    4.1.2块编码
    4.1.3状态码100的使用
    4.2Connector接口
    4.3HttpConnector类
    4.3.1创建服务器套接字
    4.3.2维护HttpProcessor实例
    4.3.3提供HTTP请求服务
    4.4HttpProcessor类
    4.5Request对象
    4.6Response对象
    4.7处理请求
    4.7.1解析连接
    4.7.2解析请求
    4.7.3解析请求头
    4.8简单的Container应用程序
    4.9小结

    第5章servlet容器
    5.1Container接口
    5.2管道任务
    5.2.1Pipeline接口
    5.2.2Valve接口
    5.2.3ValveContext接口
    5.2.4Contained接口
    5.3Wrapper接口
    5.4Context接口
    5.5Wrapper应用程序
    5.5.1ex05.pyrmont.core.SimpleLoader类
    5.5.2ex05.pyrmont.core.SimplePipeline类
    5.5.3ex05.pyrmont.core.SimpleWrapper类
    5.5.4ex05.pyrmont.core.SimpleWrapperValve类
    5.5.5ex05.pyrmont.valves.ClientIPLoggerValve类
    5.5.6ex05.pyrmont.valves.HeaderLoggerValve类
    5.5.7ex05.pyrmont.startup.Bootstrap
    5.5.8运行应用程序
    5.6Context应用程序
    5.6.1ex05.pyrmont.core.SimpleContextValve类
    5.6.2ex05.pyrmont.core.SimpleContextMapper类
    5.6.3ex05.pyrmont.core.SimpleContext类
    5.6.4ex05.pyrmont.startup.Bootstrap
    5.6.5运行应用程序
    5.7小结

    第6章生命周期
    6.1Lifecycle接口
    6.2LifecycleEvent类
    6.3LifecycleListener接口
    6.4LifecycleSupport类
    6.5应用程序
    6.5.1ex06.pyrmont.core.SimpleContext类
    6.5.2ex06.pyrmont.core.SimpleContextLifecycleListener类
    6.5.3ex06.pyrmont.core.SimpleLoader类
    6.5.4ex06.pyrmont.core.SimplePipeline类
    6.5.5ex06.pyrmont.core.SimpleWrapper类
    6.5.6运行应用程序
    6.6小结

    第7章日志记录器
    7.1Logger接口
    7.2Tomcat的日志记录器
    7.2.1LoggerBase类
    7.2.2SystemOutLogger类
    7.2.3SystemErrLogger类
    7.2.4FileLogger类
    7.3应用程序
    7.4小结

    第8章载入器
    8.1Java的类载入器
    8.2Loader接口
    8.3Reloader接口
    8.4WebappLoader类
    8.4.1创建类载入器
    8.4.2设置仓库
    8.4.3设置类路径
    8.4.4设置访问权限
    8.4.5开启新线程执行类的重新载入
    8.5WebappClassLoader类
    8.5.1类缓存
    8.5.2载入类
    8.5.3应用程序
    8.6运行应用程序
    8.7小结

    第9章Session管理
    9.1Session对象
    9.1.1Session接口
    9.1.2StandardSession类
    9.1.3StandardSessionFacade类
    9.2Manager
    9.2.1Manager接口
    9.2.2ManagerBase类
    9.2.3StandardManager类
    9.2.4PersistentManagerBase类
    9.2.5PersistentManager类
    9.2.6DistributedManager类
    9.3存储器
    9.3.1StoreBase类
    9.3.2FileStore类
    9.3.3JDBCStore类
    9.4应用程序
    9.4.1Bootstrap类
    9.4.2SimpleWrapperValve类
    9.4.3运行应用程序
    9.5小结

    第10章安全性
    10.1领域
    10.2GenericPrincipal类
    10.3LoginConfig类
    10.4Authenticator接口
    10.5安装验证器阀
    10.6应用程序
    10.6.1ex10.pyrmont.core.SimpleContextConfig类
    10.6.2ex10.pyrmont.realm.SimpleRealm类
    10.6.3ex10.pyrmont.realm.SimpleUserDatabaseRealm
    10.6.4ex10.pyrmont.startup.Bootstrap1类
    10.6.5ex10.pyrmont.startup.Bootstrap2类
    10.6.6运行应用程序
    10.7小结

    第11章StandardWrapper
    11.1方法调用序列
    11.2SingleThreadModel
    11.3StandardWrapper
    11.3.1分配servlet实例
    11.3.2载入servlet类
    11.3.3ServletConfig对象
    11.3.4servlet容器的父子关系
    11.4StandardWrapperFacade类
    11.5StandardWrapperValve类
    11.6FilterDef类
    11.7ApplicationFilterConfig类
    11.8ApplicationFilterChain类
    11.9应用程序
    11.10小结

    第12章StandardContext类
    12.1StandardContext的配置
    12.1.1StandardContext类的构造函数
    12.1.2启动StandardContext实例
    12.1.3invoke()方法
    12.2StandardContextMapper类
    12.3对重载的支持
    12.4backgroundProcess()方法
    12.5小结

    第13章Host和Engine
    13.1Host接口
    13.2StandardHost类
    13.3StandardHostMapper类
    13.4StandardHostValve类
    13.5为什么必须要有一个Host容器
    13.6应用程序1
    13.7Engine接口
    13.8StandardEngine类
    13.9StandardEngineValve类
    13.10应用程序2
    13.11小结

    第14章服务器组件和服务组件
    14.1服务器组件
    14.2StandardServer类
    14.2.1initialize()方法
    14.2.2start()方法
    14.2.3stop()方法
    14.2.4await()方法
    14.3Service接口
    14.4StandardService类
    14.4.1connector和container
    14.4.2与生命周期有关的方法
    14.5应用程序
    14.5.1Bootstrap类
    14.5.2Stopper类
    14.5.3运行应用程序
    14.6小结

    第15章Digester库
    15.1Digester库
    15.1.1Digester类
    15.1.2Digester库示例1
    15.1.3Digester库示例2
    15.1.4Rule类
    15.1.5Digester库示例3:使用RuleSet
    15.2ContextConfig类
    15.2.1defaultConfig()方法
    15.2.2applicationConfig()方法
    15.2.3创建WebDigester
    15.3应用程序
    15.4小结

    第16章关闭钩子
    16.1关闭钩子的例子
    16.2Tomcat中的关闭钩子
    16.3小结

    第17章启动Tomcat
    17.1Catalina类
    17.1.1start()方法
    17.1.2stop()方法
    17.1.3启动Digester对象
    17.1.4关闭Digester对象
    17.2Bootstrap类
    17.3在Windows平台上运行Tomcat
    17.3.1如何编写批处理文件
    17.3.2catalina.bat批处理文件
    17.3.3在Windows平台上启动Tomcat
    17.3.4在Windows平台上关闭Tomcat
    17.4在Linux平台上运行Tomcat
    17.4.1如何编写UNIX/LinuxShell脚本
    17.4.2catalina.sh脚本
    17.4.3在UNIX/Linux平台上启动Tomcat
    17.4.4在UNIX/Linux平台上关闭Tomcat
    17.5小结

    第18章部署器
    18.1部署一个Web应用程序
    18.1.1部署一个描述符
    18.1.2部署一个WAR文件
    18.1.3部署一个目录
    18.1.4动态部署
    18.2Deploy接口
    18.3StandardHostDeployer类
    18.3.1安装一个描述符
    18.3.2安装一个WAR文件或目录
    18.3.3启动Context实例
    18.3.4停止一个Context实例
    18.4小结

    第19章Manager应用程序的servlet类
    19.1使用Manager应用程序
    19.2Containerservlet接口
    19.3初始化ManagerServlet
    19.4列出已经部署的Web应用程序
    19.5启动Web应用程序
    19.6关闭Web应用程序
    19.7小结

    第20章基于JMX的管理
    20.1JMX简介
    20.2JMXAPI
    20.2.1MBeanServer类
    20.2.2ObjectName类
    20.3标准MBean
    20.4模型MBean
    20.4.1MBeanInfo接口与ModelMBeanInfo接口
    20.4.2ModelMBean示例
    20.5CommonsModeler库
    20.5.1MBean描述符
    20.5.2mbean元素示例
    20.5.3自己编写一个模型MBean类
    20.5.4Registry类
    20.5.5ManagedBean
    20.5.6BaseModelMBean
    20.5.7使用Modeler库API
    20.6Catalian中的MBean
    20.6.1ClassNameMBean类
    20.6.2StandardServerMBean类
    20.6.3MBeanFactory类
    20.6.4MBeanUtil
    20.7创建Catalina的MBean
    20.8应用程序
    20.9小结
  • 内容简介:
    《深入剖析Tomcat》深入剖析Tomcat4和Tomcat5中的每个组件,并揭示其内部工作原理。通过学习本书,你将可以自行开发Tomcat组件,或者扩展已有的组件。Tomcat是目前比较流行的Web服务器之一。作为一个开源和小型的轻量级应用服务器,Tomcat易于使用,便于部署,但Tomcat本身是一个非常复杂的系统,包含了很多功能模块。这些功能模块构成了Tomcat的核心结构。《深入剖析Tomcat》从最基本的HTTP请求开始,直至使用JMX技术管理Tomcat中的应用程序,逐一剖析Tomcat的基本功能模块,并配以示例代码,使读者可以逐步实现自己的Web服务器。
  • 作者简介:
    BudiKurniawan是《JavaforWebWithServlets,JSPandEJB》的作者,同时也是一位IT咨询师,主要研究方向包括互联网与面向对象程序设计。除了其他一些计算机图书,他已经在10多种出版物上发表了约100篇文章,其中包括一些享有盛誉的Java杂志,如《Java.net》、《JavaPro》、《JavaWorld》等。Budi也是Brainysoftware.com的应用程序FileUploadBean的作者,在世界范围内很多公司都获得授权并使用该应用程序。
    PaulDeck是一个有15多年经验的IT架构师,参与了很多项目的开发,这些项目遍布在美国、加拿大、中国和澳大利亚。他喜欢旅行,对网络、互联网编程、设计模式和用户界面交互设计非常感兴趣。
  • 目录:
    译者序
    前言
    第1章一个简单的Web服务器
    1.1HTTP
    1.1.1HTTP请求
    1.1.2HTTP响应
    1.2Socket类
    1.3应用程序
    1.3.1HttpServer类
    1.3.2Request类
    1.3.3Response类
    1.3.4运行应用程序
    1.4小结

    第2章一个简单的servlet容器
    2.1javax.servlet.Servlet接口
    2.2应用程序
    2.2.1HttpServer1类
    2.2.2Request类
    2.2.3Response类
    2.2.4StaticResourceProcessor类
    2.2.5servletProcessor1类
    2.2.6运行应用程序
    2.3应用程序
    2.4小结

    第3章连接器
    3.1StringManager类
    3.2应用程序
    3.2.1启动应用程序
    3.2.2HttpConnector类
    3.2.3创建HttpRequest对象
    3.2.4创建HttpResponse对象
    3.2.5静态资源处理器和servlet处理器
    3.2.6运行应用程序
    3.3小结

    第4章Tomcat的默认连接器
    4.1HTTP1.1的新特性
    4.1.1持久连接
    4.1.2块编码
    4.1.3状态码100的使用
    4.2Connector接口
    4.3HttpConnector类
    4.3.1创建服务器套接字
    4.3.2维护HttpProcessor实例
    4.3.3提供HTTP请求服务
    4.4HttpProcessor类
    4.5Request对象
    4.6Response对象
    4.7处理请求
    4.7.1解析连接
    4.7.2解析请求
    4.7.3解析请求头
    4.8简单的Container应用程序
    4.9小结

    第5章servlet容器
    5.1Container接口
    5.2管道任务
    5.2.1Pipeline接口
    5.2.2Valve接口
    5.2.3ValveContext接口
    5.2.4Contained接口
    5.3Wrapper接口
    5.4Context接口
    5.5Wrapper应用程序
    5.5.1ex05.pyrmont.core.SimpleLoader类
    5.5.2ex05.pyrmont.core.SimplePipeline类
    5.5.3ex05.pyrmont.core.SimpleWrapper类
    5.5.4ex05.pyrmont.core.SimpleWrapperValve类
    5.5.5ex05.pyrmont.valves.ClientIPLoggerValve类
    5.5.6ex05.pyrmont.valves.HeaderLoggerValve类
    5.5.7ex05.pyrmont.startup.Bootstrap
    5.5.8运行应用程序
    5.6Context应用程序
    5.6.1ex05.pyrmont.core.SimpleContextValve类
    5.6.2ex05.pyrmont.core.SimpleContextMapper类
    5.6.3ex05.pyrmont.core.SimpleContext类
    5.6.4ex05.pyrmont.startup.Bootstrap
    5.6.5运行应用程序
    5.7小结

    第6章生命周期
    6.1Lifecycle接口
    6.2LifecycleEvent类
    6.3LifecycleListener接口
    6.4LifecycleSupport类
    6.5应用程序
    6.5.1ex06.pyrmont.core.SimpleContext类
    6.5.2ex06.pyrmont.core.SimpleContextLifecycleListener类
    6.5.3ex06.pyrmont.core.SimpleLoader类
    6.5.4ex06.pyrmont.core.SimplePipeline类
    6.5.5ex06.pyrmont.core.SimpleWrapper类
    6.5.6运行应用程序
    6.6小结

    第7章日志记录器
    7.1Logger接口
    7.2Tomcat的日志记录器
    7.2.1LoggerBase类
    7.2.2SystemOutLogger类
    7.2.3SystemErrLogger类
    7.2.4FileLogger类
    7.3应用程序
    7.4小结

    第8章载入器
    8.1Java的类载入器
    8.2Loader接口
    8.3Reloader接口
    8.4WebappLoader类
    8.4.1创建类载入器
    8.4.2设置仓库
    8.4.3设置类路径
    8.4.4设置访问权限
    8.4.5开启新线程执行类的重新载入
    8.5WebappClassLoader类
    8.5.1类缓存
    8.5.2载入类
    8.5.3应用程序
    8.6运行应用程序
    8.7小结

    第9章Session管理
    9.1Session对象
    9.1.1Session接口
    9.1.2StandardSession类
    9.1.3StandardSessionFacade类
    9.2Manager
    9.2.1Manager接口
    9.2.2ManagerBase类
    9.2.3StandardManager类
    9.2.4PersistentManagerBase类
    9.2.5PersistentManager类
    9.2.6DistributedManager类
    9.3存储器
    9.3.1StoreBase类
    9.3.2FileStore类
    9.3.3JDBCStore类
    9.4应用程序
    9.4.1Bootstrap类
    9.4.2SimpleWrapperValve类
    9.4.3运行应用程序
    9.5小结

    第10章安全性
    10.1领域
    10.2GenericPrincipal类
    10.3LoginConfig类
    10.4Authenticator接口
    10.5安装验证器阀
    10.6应用程序
    10.6.1ex10.pyrmont.core.SimpleContextConfig类
    10.6.2ex10.pyrmont.realm.SimpleRealm类
    10.6.3ex10.pyrmont.realm.SimpleUserDatabaseRealm
    10.6.4ex10.pyrmont.startup.Bootstrap1类
    10.6.5ex10.pyrmont.startup.Bootstrap2类
    10.6.6运行应用程序
    10.7小结

    第11章StandardWrapper
    11.1方法调用序列
    11.2SingleThreadModel
    11.3StandardWrapper
    11.3.1分配servlet实例
    11.3.2载入servlet类
    11.3.3ServletConfig对象
    11.3.4servlet容器的父子关系
    11.4StandardWrapperFacade类
    11.5StandardWrapperValve类
    11.6FilterDef类
    11.7ApplicationFilterConfig类
    11.8ApplicationFilterChain类
    11.9应用程序
    11.10小结

    第12章StandardContext类
    12.1StandardContext的配置
    12.1.1StandardContext类的构造函数
    12.1.2启动StandardContext实例
    12.1.3invoke()方法
    12.2StandardContextMapper类
    12.3对重载的支持
    12.4backgroundProcess()方法
    12.5小结

    第13章Host和Engine
    13.1Host接口
    13.2StandardHost类
    13.3StandardHostMapper类
    13.4StandardHostValve类
    13.5为什么必须要有一个Host容器
    13.6应用程序1
    13.7Engine接口
    13.8StandardEngine类
    13.9StandardEngineValve类
    13.10应用程序2
    13.11小结

    第14章服务器组件和服务组件
    14.1服务器组件
    14.2StandardServer类
    14.2.1initialize()方法
    14.2.2start()方法
    14.2.3stop()方法
    14.2.4await()方法
    14.3Service接口
    14.4StandardService类
    14.4.1connector和container
    14.4.2与生命周期有关的方法
    14.5应用程序
    14.5.1Bootstrap类
    14.5.2Stopper类
    14.5.3运行应用程序
    14.6小结

    第15章Digester库
    15.1Digester库
    15.1.1Digester类
    15.1.2Digester库示例1
    15.1.3Digester库示例2
    15.1.4Rule类
    15.1.5Digester库示例3:使用RuleSet
    15.2ContextConfig类
    15.2.1defaultConfig()方法
    15.2.2applicationConfig()方法
    15.2.3创建WebDigester
    15.3应用程序
    15.4小结

    第16章关闭钩子
    16.1关闭钩子的例子
    16.2Tomcat中的关闭钩子
    16.3小结

    第17章启动Tomcat
    17.1Catalina类
    17.1.1start()方法
    17.1.2stop()方法
    17.1.3启动Digester对象
    17.1.4关闭Digester对象
    17.2Bootstrap类
    17.3在Windows平台上运行Tomcat
    17.3.1如何编写批处理文件
    17.3.2catalina.bat批处理文件
    17.3.3在Windows平台上启动Tomcat
    17.3.4在Windows平台上关闭Tomcat
    17.4在Linux平台上运行Tomcat
    17.4.1如何编写UNIX/LinuxShell脚本
    17.4.2catalina.sh脚本
    17.4.3在UNIX/Linux平台上启动Tomcat
    17.4.4在UNIX/Linux平台上关闭Tomcat
    17.5小结

    第18章部署器
    18.1部署一个Web应用程序
    18.1.1部署一个描述符
    18.1.2部署一个WAR文件
    18.1.3部署一个目录
    18.1.4动态部署
    18.2Deploy接口
    18.3StandardHostDeployer类
    18.3.1安装一个描述符
    18.3.2安装一个WAR文件或目录
    18.3.3启动Context实例
    18.3.4停止一个Context实例
    18.4小结

    第19章Manager应用程序的servlet类
    19.1使用Manager应用程序
    19.2Containerservlet接口
    19.3初始化ManagerServlet
    19.4列出已经部署的Web应用程序
    19.5启动Web应用程序
    19.6关闭Web应用程序
    19.7小结

    第20章基于JMX的管理
    20.1JMX简介
    20.2JMXAPI
    20.2.1MBeanServer类
    20.2.2ObjectName类
    20.3标准MBean
    20.4模型MBean
    20.4.1MBeanInfo接口与ModelMBeanInfo接口
    20.4.2ModelMBean示例
    20.5CommonsModeler库
    20.5.1MBean描述符
    20.5.2mbean元素示例
    20.5.3自己编写一个模型MBean类
    20.5.4Registry类
    20.5.5ManagedBean
    20.5.6BaseModelMBean
    20.5.7使用Modeler库API
    20.6Catalian中的MBean
    20.6.1ClassNameMBean类
    20.6.2StandardServerMBean类
    20.6.3MBeanFactory类
    20.6.4MBeanUtil
    20.7创建Catalina的MBean
    20.8应用程序
    20.9小结
查看详情
12
您可能感兴趣 / 更多