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再响应给客户端

你可能感兴趣的:(云计算课程学习,tomcat,java)