Tomcat之基础知识

1.简介
开源的轻量级web应用,在中小型系统和并发量较小的场合下被普遍使用
内置了http服务,是Apache的扩展,默认端口号为8080
2.组件架构

图片说明

元素分类为顶级元素,连接器,容器
2.1 顶级元素
(1)server
代表了整个Catalina servlet容器配置文件最外层的单个元素,可包含多个service
(2)service
用于处理传入的请求,包含一个Engine和多个connector
2.2 连接器
Connector接收连接请求然后分配线程让 Container 来处理这个请求,是客户端向特定服务发送请求(以及从特定服务接收响应)之间的接口
常见的connector有在端口8080处侦听来自客户端的HTTP请求的HTTP/1.1 Connector和在端口8009处侦听其他Web Server(其他的HTTP服务器)的Servlet/JSP请求的AJP/1.3 Connector
2.3 容器
处理传入请求并创建相应响应的组件,容器间包含嵌套关系,从顶到底为Engine,Host,Context
图片说明
3 http请求过程
图片说明
(1)用户经过TCP三次握手后发送的请求被Coyote HTTP/1.1 Connector获得
(2)连接器将请求发送至所在service的Engine
(3)Engine获得请求例如localhost/app/xx.jsp,然后匹配到名为localhost的Host并交其处理(即使匹配不到也把请求交给该Host处理,因为该Host被定义为该Engine的默认主机)
(4)Host匹配到路径为/app的Context(如果匹配不到就把该请求交给路径名为“ ”的Context去处理)
(5)Context获得请求/xx.jsp,在它的映射表中寻找出对应的Servlet。Context匹配到URL PATTERN为*.jsp的Servlet,对应于JspServlet类。
(6)构造HttpServletRequest对象和HttpServletResponse对象,作为参数调用JspServlet的doGet或doPost方法
(7)依次返回给客户端

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务