Tomact源码分析
FlowerInRain
这个作者很懒,什么都没留下…
展开
-
(一)BootStrap启动类
Bootstrap是Tomcat的启动类。org.apache.catalina.startup.Bootstart类 Bootstrap类是Tomcat的启动类, 下面是其main方法:public static void main(String args[]) { // Set the debug flag appropriately for (int i = 0...原创 2019-01-15 14:18:22 · 1422 阅读 · 0 评论 -
(三)Server和Service
通过Server可以让我们以一种优雅的方式来启动/关闭整个系统。 从Catalina类看出,启动整个服务只需要通过server.start()就可以,它会带动其中所有组件的启动,然后无期限的等待关闭命令, 关闭系统,则是通过向指定端口发送一条命令, 调用server.stop()就可关闭所有的组件.StandardServer类 Tomcat使用的就是这个标准Server类,它实现了...原创 2019-01-15 14:20:47 · 5422 阅读 · 0 评论 -
(四)Digester通过server.xml文件构建server对象
真正的server.xml文件中包含很多内容,但只要连接其规则,就能从server.xml文件中解读出server对象的内容。 从使用示例中分析.代码 源码地址xml文件:<?xml version="1.0" encoding="ISO-8859-1"?><employee firstName="Freddie" lastName="Mercury">原创 2019-01-15 14:22:11 · 174 阅读 · 0 评论 -
(五)连接器
&emps; 连接器最主要的作用就是等待HTTP请求,并依据请求创建Request和Response对象。所以连接器也包含两个部分:等待HTTP请求的Connector;依据请求创建Request和Response的Processororg.apache.catalina.connector.http.HttpConnector类 在Tomcat4中仍存在的一个类,后面已经舍...原创 2019-01-15 14:23:23 · 233 阅读 · 0 评论 -
(六)Servlet容器(Container)
Servlet容器是用来处理Servlet资源的。共有四种容器:Engine(表示整个Catalina servlet引擎);Host(表示包含一个或多个Context容器的虚拟主机);Context(表示一个web应用,可包含多个wrapper);Wrapper(表示一个独立的servlet)。 四种容器虽然是层层包含的关系,但他们的结构是及其类似的,都继承自Container...原创 2019-01-15 14:24:07 · 1475 阅读 · 0 评论 -
(七)类加载器
为什么servlet需要实现一个自定义的载入器 因为servlet容器不应该完全信任它正在运行的servlet类。当使用系统载入器载入某个servlet类所使用的全部类,那么servlet就能够访问所有的类,包括当前运行的JVM中环境变量CLASSPATH指明的路径下的所有类和库, 这是非常危险的。servlet应该只允许载入WEB-INF/classes目录及其子目录下的类, 和从部署的库到...原创 2019-01-15 14:24:42 · 162 阅读 · 0 评论 -
Tomat源码阅读总结文档的说明
说明 目录下为阅读《深入剖析Tomcat》一书之后的总结,记录Tomcat启动的整体流程以及阅读中自己觉得重要的一些概念、类、思想等。 总结是在完整浏览完全书后进行的思路整理,从整理再到细节,和《深入剖析Tomcat》一书的顺序是相反的。 示例中仍是分析Tomcat4的源码,后续可以对比Tomcat更高的版本看看哪些地方做了改进书中源码源码地址备注: 源码只是学习java过...原创 2019-01-15 14:26:31 · 149 阅读 · 0 评论