一、什么是Tomcat?
Tomcat是一款开源的轻量级Web应用服务器,是一款优秀的Servlet容器实现。
6.X | 7.X | 8.X | 9.X | |
---|---|---|---|---|
JDK | >=1.5 | >=1.6 | >=1.7 | >=1.8 |
Servlet | 2.5 | 3.0 | 3.1 | 4.0 |
JSP | 2.1 | 2.2 | 2.3 | 2.3 |
Websocket | N | 1.1 | 1.1 | 1.1 |
8.5版本的特点
1、支持servlet3.1
2、默认采用NIO,移除BIO
3、支持NIO2(AIO)
4、支持HTTP/2协议
5、默认采用异步日志处理
二、Tomcat的启动方式
1、Tomcat安装目录下bin目录命令启动startup.bat/sh
2、IDE中启动,一般eclipse或Idea会有Tomcat插件,可直接用于启动Tomcat
3、嵌入式启动,如Springboot启动嵌入了tomcat
三、Tomcat部署方式
1、隐式部署
将war包或项目文件放到tomcat安装目录下的webapps文件中。
2、显示部署
a、配置conf目录下的server.xml,在<Host>节点中添加context元素,如<Context path="xxx" docBase="D:\xxx\xxxx">,每次配置完成需要重启Tomcat。
b、在conf→Catalina→localhost目录下配置文件,将<Context docBase="D:\xxx\xxxx"> 配置到名为xxx的xml文件中,其中xxx为访问项目路径。配置完成不需要重启。
四、Tomcat目录结构
1、bin目录:执行目录,里面放置了各种执行脚本,.sh文件为linux环境下的shell脚本,.bat文件为windows下的批处理文件。常用的脚本有startup(启动)、shutdown(关闭)、catalina(核心文件)、service(可配置为系统服务)。
2、conf目录:配置文件目录。
server.xml:主要配置文件。
web.xml:其中定义DefaultSevlet、JspServlet、mine-mapping等
context.xml:部署上下文配置文件
tomcat-users.xml:tomcat配置管理界面授权配置等
3、lib目录:jar包存放目录,存放在此的jar包所有项目公用。
4、logs目录:日志存放目录。host-manager和manager日志可以关闭,生产环境可以保留其他日志。
catalina.log:控制台日志,tomcat启动的核心日志。
manager.log:管理日志,操作tomcat管理界面的日志。
host-manager.log:对应tomcat管理界面hostmanger的日志。
localhost.log: 部署应用的日志。
localhost-access.log:部署 应用的访问记录日志。
5、tmp目录:临时文件目录
6、webapps目录:部署项目文件存放目录
7、work目录:工作中运行文件的存放目录。
五、Tomcat体系结构
1、server:一个tomcat只有一个server;
2、service:一个server可以有多个service;但是默认情况下只有一个;
3、connector:连接器 处理请求;一个service中可以有多个。
4、Engine:servlet引擎,最高级的容器对象。
5、Host:表示Servlet引擎中的虚拟机,主要与域名有关,一个服务器有多个域名是可以使用多个Host。
6、Context:用于表示ServletContext,一个ServletContext表示一个独立的Web应用
7、Wrapper:用于表示Web应用中定义的Servlet
8、Executor:Tomcat组件间可以共享的线程池