tomcat学习笔记之链接器

一、Catalina有两个主要模块:cookie

(1)链接器(connector):jsp

  • 解析http
  • 使servlet可以获取到请求头、cookie、参数/值等信息
  • 本章中链接器和容器将分开

(2)容器(container)servlet

二、三个模块test

(1)启动模块:BootStrap类,负责启动应用程序效率

(2)链接模块:容器

  • 链接器及其支持类(HttpConnector::等待Http请求的工做,HttpProcessor)
  • Http请求的类(HttpRequest)及其支持的类
  • Http响应的类(HttpResponse)及其支持的类
  • 外观类(HttpRequestFacade、HttpResponseFacade)
  • 常量类

(3)核心模块sso

  • ServletProcessor类
  • StaticResourceProcessor类

三、链接器须要解析http请求的全部信息请求

  • 为了提升效率,参数被真正调用前是不会被解析的

四、使用SocketInputStream类(InputStream的包装类)程序

  • 从套接字里面的InputStream读取字节流

五、SocketInputStream类俩重要方法方法

  • readRequestLine():返回请求第一行内容:POST  /example/test.jsp  HTTP/1.1
  • 字节流从前向后调取,readRequestLine 必须在  readHeader 前调用
  • readHeader():每次调用返回一个  key/value  直到全部请求头读完
  • readRequestLine()  返回值是 HttpRequestLine
  • readHeader () 返回值是 HttpHeader