• Tomcat8介绍 
          Tomcat 是由 Apache 开发的一个 Servlet 容器,实现了对Servlet 和 JSP 的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理。
    Tomcat开源框架 属于Java语言编写web服务器 
  • Tomcat8目录
    /bin:存放windows或Linux平台上启动和关闭Tomcat的脚本文件
    /conf:存放Tomcat服务器的各种全局配置文件,其中最重要的是server.xml和web.xml
    /lib:存放Tomcat服务器以及所有web应用都可以访问的jar文件
    /logs:存放Tomcat执行时的日志文件
    /work:存放JSP编译后产生的class文件
    /webapps:Tomcat的主要Web发布目录,默认情况下把Web应用文件放于此目录
  • 部署方式 
  1. 直接放入到tomcat webapps目录下
  2. 在conf/ server.xml目录下 host节点下新增 
    <Context docBase="D:\mayikt" path="/mayikt" reloadable="true"/>    
    docBase表示加载的内容地址  path 访问路径
  3. conf\Catalina\ localhost目录下创建 meite.xml
    <Context docBase="D:\meite" reloadable="true"/>  --注意不需要 path 默认是.xml文件名称
  4. 使用内嵌入Tomcat方式(SpringBoot底层原理实现)
  • Tomcat8架构模式
      
    1.Server 表示就是我们的服务器 一个tomcat允许存在一个Server,Server管理我们整个tomcat所有组件
    2.Service 表示我们的Server服务处理的一个业务逻辑,一个Server可以存在多个Service业务逻辑
    3. Connector表示监听我们的Http请求并且封装请求与响应
    4. Executor线程池
    5. Container里面包含host、Context、Wrapper
    6. Container分为多个Host,每个host理解为每个站点
        Host其实就是独立存放的webapps应用程序 每个host可以存在多个context上下文
    7. Wrapper其实指的就是我们的每个server类 
  1. 架构原理

    当我们的tomcat启动的时候,默认的情况下会创建两个Connector监听端口号8080和8009,
    分别是为Http协议Connector8080监听端口号和AJP协议Connector8009监听端口号,

    Http协议Connector8080监听到了Http请求之后会交给我们的Container实现处理,Container处理完请求之后在交给我们的Connector连接器封装响应的结果集给客户端。
    Http协议8080余AJP协议8009区别是什么?
    AJP协议端口号是内部之间通讯端口号可以实现tomcat集群

  2. tomcat原理
    1. Tomcat启动时候程序的入口类Bootstrap,Bootstrap main 直接启动
    2. 对我们的组件实现初始化操作(Connector、Service、Container、Wrapper)
    3. 使用java的反射机制初始化我们的Catalina,Catalina是我们的所有的组件包装类。
    4. 根据启动的命令(start/stop)
    5. 如果调用start的命令的情况下,执行我们的Catalina的load的方法
    6. Catalina的类load方法对我们的配置的server.xml文件实现解析,转换程序中的类。
    7. Catalina读取到server之后开始初始化我们的server(getServer().init();)
    8. 初始化我们的Connector监听我们的客户端的请求
    9. 在我们的ContextConfig的webConfig方法解析我们的web.xml
    10. 在configureContext方法初始化我们的Wrapper对象
Logo

更多推荐