1. 11.3 使用historical

    创建工程 新建servlet - com.zsk.controller.HelloServlet 配置web.xml 配置tomcat 运行访问 <http://localhost:8080/tomcat test war exploded/ 把idea生成的文件拷贝到tomcat下运行

  2. 11.4 Connectorhistorical

    概述 -- - 连接器采用的是boss/worker的设计模式和adapter模式 - 有endpoint负责处接受tcp/ip请求--boss - 有processor负责将tcp/ip请求转成http请求--worker - Adapter负责将request/response转换成servle

  3. 11.5 启动流程historical

    启动的主类 startup.bat 我们启动的时候通过startup.bat,他只是简单的调用catalina.bat catalina.bat 时序图 源码追踪 init Bootstrap init - main Catalina init - load StandardServer init

  4. 11.6 源代码层面historical

    时序图 源码追踪 由启动流程.md tomcat启动由两个主要步骤,一个是init,另一个是start init主要的工作是绑定端口号(bind),start主要的工作是监听客户端链接(accept) 其中监听客户端链接的代码在这段逻辑 NioEndpoint - startInternal Acc

  5. 11.7 源码编译historical

    1. 下载源码解压 Apache Tomcat® \- Apache Tomcat 8 Software Downloads 2. 改造成maven工程 在源码根目录添加pom.xml 3. 配置启动类 - org.apache.catalina.startup.Bootstrap 启动参数 4.

  6. 11.8 Containerhistorical

    概述 - 一个server可以有多个service - 一个service由多个connector和一个container组成 - 一个container由一个engine - 一个engine有多个host【虚拟站点】 - 一个host由多个context【应用】 - 一个context由多个wr

  7. 11.9 配置文件层面historical

    以 <http://localhost:8080/tomcat test/hello 为例 找到对应的connector 找到engine/service 找到对应的host:找到对应的context:tomcat test 找到对应的wrapper:hello

  8. 11.10 LifeCyclehistorical

    LifeCycle的历史学习笔记

  9. 11.11 架构historical

    是什么 tomcat是一个实现了servlet规范的web服务器软件。 他有两个作用,一个是http服务器,负责跟浏览器交互,处理请求和响应 另一个是servlet容器,将请求转发给实际的业务类处理并获取相应 为什么这样设计 为了解耦。如果只有http服务器,那么我们的业务都写在http服务器上,耦

  10. 12.泛型historical

    1. 什么是泛型 指参数化类型,假设我们有个需求,写一个方法对数字进行排序,数字有Short、Integer、Long、Double等,他们的排序算法都是一样的,虽然可以写好几个重载的方法,但是好麻烦;换成Object作为参数的话运行时需要强制类型转换,如果传入一个String不就GG了 2. 泛型