Tomcat

核心组件
  • Web容器:完成Web服务器的功能

    • Web是可以通过http或者https进行访问的一个页面,在Linux系统中就是一个文件,Web容器就是封装了这样一组文件,并对这些对象进行集中化管理

    • 在实际的作用上 1.Web容器就是接收客户端的请求,将请求分发到指定位置后,等待结果返回,最后将结果响应给客户端 2.展示动态页面

  • JSP容器:将JSP动态页面(比如index.jsp)翻译成Servlet代码

    • JSP动态页面是用Java写的,需要将它翻译成Servlet代码的格式

  • Servlet容器:借助于Catalina来处理Servlet代码

    • 可以把Servlet看作是一个中间件,包含了接口和方法,将客户端和数据库(后端服务)连接,从而实现动态网页的创建

功能组件结构

Tomcat 的核心功能有两个:

  • 连接器 Connector:负责对外接收和响应请求,通过监听端口接收请求,将请求传递给容器进行业务处理,最后将处理后的结果再响应回去

  • 容器 Container:负责对内处理业务逻辑,由Engine、Host、Context和Wrapper 四个子容器组成,用于管理和调用Servlet

Connector和Container加上一些其他组件构成了Service(Connector+Container≈Service),Tomcat可以管理多个Service

Container结构分析: 每个Service都会包含一个Container

  • Engine:引擎,管理虚拟主机,一个Service中只能有一个

  • Host:一台虚拟主机(站点),通过配置Host可以添加站点

  • Context:一个Web应用,包含了多个Servlet封装器,注意是Servlet封装器

  • Wrapper:封装器,每一个Wrapper封装着一个Servlet,负责实例对象的创建、执行和销毁

这四个子容器是父子关系:一个Engine管理多个Host,一个Host管理多个Context,一个Context有多个Wrapper

Tomcat的请求过程
  1. 用户在浏览器中进行访问,请求被发送到8080端口,监听8080端口的Connector接收了请求

  2. Connector把请求发送到它自己所在的Service中的Container中的Engine来处理,自己进入等待回应的状态

  3. 根据请求的内容依照Engine、Host、Context、Wrapper的顺序进行依次请求,最后由Wrapper中的Servlet执行对应的业务

  4. 执行完毕后再依照Wrapper、Context、Host、Engine的顺序依次响应,最后返回给Connector,Connector再响应给客户端

相关推荐

  1. Tomcat

    2023-12-20 09:06:03       30 阅读
  2. <span style='color:red;'>Tomcat</span>

    Tomcat

    2023-12-20 09:06:03      29 阅读
  3. <span style='color:red;'>Tomcat</span>

    Tomcat

    2023-12-20 09:06:03      36 阅读
  4. Tomcat

    2023-12-20 09:06:03       39 阅读
  5. <span style='color:red;'>Tomcat</span>

    Tomcat

    2023-12-20 09:06:03      30 阅读
  6. <span style='color:red;'>Tomcat</span>

    Tomcat

    2023-12-20 09:06:03      34 阅读
  7. Tomcat

    2023-12-20 09:06:03       28 阅读
  8. <span style='color:red;'>tomcat</span>

    tomcat

    2023-12-20 09:06:03      25 阅读
  9. <span style='color:red;'>Tomcat</span>

    Tomcat

    2023-12-20 09:06:03      28 阅读
  10. <span style='color:red;'>Tomcat</span>

    Tomcat

    2023-12-20 09:06:03      21 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-20 09:06:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-20 09:06:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-20 09:06:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-20 09:06:03       20 阅读

热门阅读

  1. 2312llvm,02前端

    2023-12-20 09:06:03       38 阅读
  2. SpringMVC---获取参数

    2023-12-20 09:06:03       38 阅读
  3. 51单片机基于时间片轮转的简单rtos

    2023-12-20 09:06:03       36 阅读
  4. C/C++ fmt 格式化字符串实现(轻量)

    2023-12-20 09:06:03       39 阅读
  5. ubuntu12.04 源

    2023-12-20 09:06:03       54 阅读
  6. 如何学会管理时间

    2023-12-20 09:06:03       41 阅读
  7. 理解BeEF的架构

    2023-12-20 09:06:03       34 阅读