一、什麼是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組件間可以共享的線程池