Tomcat

221 阅读2分钟

什么是Tomcat

Tomcat是允许Java程序运行的Web服务器,由Apache提供的中小型服务器,是Servlet和JSP的容器,底层是一个Socket程序。

Tomcat能做什么

使用Tomcat可以帮助浏览器访问动态资源,Tomcat中存放着不同的Servlet、JSP,浏览器通过url可以访问对应的资源。

Tomcat的目录结构

  1. bin:存放启动和关闭Tomcat的脚本文件

    startup.bat:启动服务器

    shutdown.bat:关闭服务器

  2. conf:配置文件

    server.xml:配置server相关信息,如主机IP、端口号

    web.xml:配置web资源

  3. lib:Tomcat程序需要的各种jar包。

  4. logs:日志文件。

  5. temp:存放运行时的临时文件。

  6. webapps:web资源的存放目录。

  7. work:Tomcat的工作目录。

Webapps规范

web应用下面存放着静态资源,约定建立WEB-INF目录,其中由web.xml、classes目录和lib目录组成

web.xml:web项目的核心配置文件

classes目录:存放类的字节码文件

lib目录:放置web项目依赖的jar包

Tomcat体系结构

1. Server容器

Server容器是Tomcat服务器最顶层的容器,它可以包含多个Service,实现了Servlet和JSP的规范

2. Service容器

服务器中的业务逻辑层,其中包含了两大核心容器Connector和Container,Connector负责监听请求,Container负责监听处理,一个Service负责将一个或多个Connector和一个Engine联系到一起

3. 核心容器Connector

Connector在指定的端口上监听浏览器发送的tcp连接请求,每接收到一个请求后新建一个线程,这个线程的主要作用就是创建request和response并将其传入到Container容器中的engine中。有两种主要的Connector,一种是监听浏览器的请求,另一种是监听Servlet转发的请求。

4. 核心容器Container

Container容器包含四个部分,分别是Engine、Host、Context、Wrapper

Engine

Engine表示整个Servlet的引擎,它包含一个或多个Host,因此可以配置多个虚拟主机

Host

Host代表一个站点,可以配置多个Context,运行多个应用

Context

代表应用程序,就是web程序,每一个应用都有唯一的路径

Wrapper

Wrapper代表一个Servlet是最底层的容器,负责管理Servlet的生命周期