一、Tomcat介紹
參考官方文檔:https://tomcat.apache.org/whichversion.html
注意:因為版本信息有失效性,本文記錄時間為2021年1月20號,本文只是對官方說明的翻譯以及添加自己的理解,請以官方文檔為准。
Tomcat是由Apache軟件基金會下屬的Jakarta項目開發的一個Servlet容器,其為開源的、免費的,在應用服務器市場上占有較高的使用率。
不同版本的Tomcat要求符合不同版本的規范,Tomcat和相應規范映射關系如下:
目前較為常用的為7/8/9三個大版本,之前版本已經不建議使用,最新的10.0版本還處於Beta版本,不建議在生產環境使用。Apache建議使用最新的穩定版本。
如今,Tomcat各個大版本是同步更新的,如果無特殊需求,建議升級到指定大版本下的最新小版本即可。
二、版本類型(Alpha / Beta / Stable)
Alpha 版本可能包含規范要求的大量未測試/缺失的功能和/或重大錯誤。
Beta 版本可能包含一些未經測試的功能或一些相對較小的錯誤。
Stable 穩定版本可能包含少量相對較小的 bug。適合生產使用,能夠長時間穩定運行。
三、版本號介紹
Apache Tomcat 10.x
Apache Tomcat 10.x 是當前開發的焦點。它基於 Tomcat 9.0.x,實現了 Servlet 5.0、 JSP 3.0、 EL 4.0、 WebSocket 2.0和認證2.0規范(Jakarta EE 9平台要求的版本)。
Apache Tomcat 9.x
Apache Tomcat 9.x 是當前開發的焦點。它基於 Tomcat 8.0. x 和8.5. x,實現了 Servlet 4.0、JSP 2.3、EL 3.0、WebSocket 1.1和 JASPIC 1.1規范(javaee 8平台所需的版本)。除此之外,它還包括以下重大改進:
添加對 HTTP/2的支持(要求在 java9上運行(從Apache Tomcat 9.0.0. M18開始)或安裝Tomcat Native庫。
使用 JSSE 連接器(NIO 和 NIO 2)添加對使用 OpenSSL 支持 TLS 的支持
添加對 TLS 虛擬主機(snl)的支持
Apache Tomcat 8.x
8.0.x 基於 Tomcat 7.0.x,實現了 Servlet 3.1、 JSP 2.3、 EL 3.0和 WebSocket 1.1規范。除此之外,它還包括以下重大改進:
一個單一的公共資源實現,用於替換早期版本中提供的多個資源擴展特性
8.5. x 支持與 Apache Tomcat 8.0. x 相同的 Servlet、 JSP、 EL 和 WebSocket 規范版本。除此之外,它還實現了 JASPIC 1.1規范。它創建於2016年3月,是 Tomcat 9.0.0的一個分支。M4(alpha)里程碑版本。它提供了來自 Tomcat 9.x 代碼庫的 HTTP/2支持和其他特性,同時兼容 Tomcat 8.0的運行時和規范要求。(當時無法創建 Tomcat 9.0的穩定版本,因為 Tomcat 9所針對的 javaee 規范在幾年后才最終定稿)。8.5被認為是 Tomcat 8.0的替代品。有關遷移到 Tomcat 8.5的指導,請參閱遷移指南。
8.5. x 包含以下重大改進:
添加對 HTTP/2的支持(需要Tomcat Native庫)
使用 JSSE 連接器(NIO 和 NIO 2)添加對使用 OpenSSL 支持 TLS 的支持
添加對 TLS 虛擬主機(snl)的支持
8.5. x 中刪除了以下技術:
HTTP 和 AJP 連接器的 BIO 實現
對 Comet API 的支持
Tomcat 8.0的用戶應該意識到 Tomcat 8.0已經走到了生命的盡頭。8.0. x 的用戶應該升級到 Tomcat 8.5. x 或更高版本。
Apache Tomcat 7.x
7. x 基於 Tomcat 6.0. x 的改進,實現了 Servlet 3.0、 JSP 2.2、 EL 2.2和 WebSocket 1.1規范。除此之外,它還包括以下改進:
Web 應用程序內存泄漏檢測和預防
改進了 Manager 和 hostmanager 應用程序的安全性
通用 CSRF 保護
支持在 web 應用程序中直接包含外部內容
重構(連接器、生命周期)和許多內部代碼清理
Tomcat 7的用戶應該知道,Tomcat 7已經宣告了生命的終結。7. x 的用戶應該升級到 Tomcat 8.5. x 或更高版本。
Apache Tomcat 6.x
Apache Tomcat 6.x 基於 Tomcat 5.5. x 的改進,實現了 Servlet 2.5和 JSP 2.1規范。除此之外,它還包括以下改進:
內存使用優化
高級 i/o 功能
重構的集群
Tomcat 6的用戶應該意識到,Tomcat 6現在已經到了生命的盡頭。6. x 的用戶應該升級到 Tomcat 7. x 或更高版本。
Apache Tomcat 5.x
5.5. x 支持與 Apache Tomcat 5.0. x 相同的 Servlet 和 JSP 規范版本。在引擎蓋之下的許多領域有顯著的變化,導致改進的性能、穩定性和總擁有成本。詳情請參閱 Apache Tomcat 5.5 Changelog。
5.0. x 在很多方面改進了 Apache Tomcat 4.1,包括:
性能優化和減少垃圾收集
重構的應用程序部署器,帶有一個可選的獨立部署器,允許驗證和編譯 web 應用程序,然后將其投入生產
使用 JMX 和管理器 web 應用程序完成服務器監視
可伸縮性和可靠性增強
改進的 Taglibs 處理,包括高級的池和標記插件
改進平台集成,使用原生 Windows 和 Unix 包裝器
增強的安全管理器支持
綜合會話集群
擴充文件
Tomcat 5的用戶應該知道,Tomcat 5現在已經到了生命的盡頭。5. x 的用戶應該升級到 Tomcat 7. x 或更高版本。
Apache Tomcat 4.x
Apache Tomcat 4.x 實現了一個基於全新架構的新 servlet 容器(稱為 Catalina)。4.x 版本實現了 Servlet 2.3和 JSP 1.2規范。
4.1. x 是對 Apache Tomcat 4.0. x 的重構,包含重要的增強功能,包括:
基於 JMX 的管理特性
基於 JSP 和 Struts 的管理 web 應用
新的 Coyote 連接器(HTTP/1.1、 ajp1.3和 JNI 支持)
重寫 Jasper JSP 頁面編譯器
性能和內存效率的提高
與開發工具集成的增強的管理器應用程序支持
自定義Ant任務,以便直接從生成.xml腳本
4.0. x.Apache:Tomcat 4.0.6是老版本的產品質量版本。4.0 servlet 容器(Catalina)是為靈活性和性能而從頭開發的。版本4.0實現了 Servlet 2.3和 JSP 1.2規范的最終版本。按照規范的要求,Apache Tomcat 4.0也支持為 Servlet 2.2和 JSP 1.1規范構建的 web 應用程序,而且沒有任何變化。
Tomcat 4的用戶應該意識到 Tomcat 4已經走到了生命的盡頭。4. x 的用戶應該升級到 Tomcat 7. x 或更高版本。
Apache Tomcat 3.x所有的 Apache Tomcat 3. x 版本都追溯到 Sun 捐贈給 Apache軟件基金會的最初的 Servlet 和 JSP 實現。3.x 版本都實現了 Servlet 2.2和 JSP 1.1規范。
3.3. x.版本3.3.2是當前生產質量版本。它繼續進行3.2版本中開始的重構,並將其推向合乎邏輯的結論。版本3.3提供了更加模塊化的設計,並允許通過添加和刪除控制 servlet 請求處理的模塊來定制 servlet 容器。這個版本還包含許多性能改進。
3.2. x.自3.1以來,版本3.2增加了一些新特性; 主要的工作是重構內部構件,以提高性能和穩定性。3.2.1的發布和3.1.1一樣,是一個安全補丁。版本3.2.2修復了大量的 bug 和所有已知的規范遵從問題。3.2.3版本是一個關閉嚴重安全漏洞的安全更新。版本3.2.4是一個較小的 bug 修復版本。3.2.3之前的 Apache Tomcat 版本的所有用戶都應該盡快升級。除了修復關鍵的安全相關錯誤之外,Apache Tomcat 3.2. x 分支的開發已經停止。
3.1. x.這個3.1版本對 Apache Tomcat 3.0做了一些改進,包括 servlet 重載、 WAR 文件支持以及為 IIS 和 Netscape web 服務器添加連接器。最新的維護版本3.1.1包含了針對安全問題的修復。Apache Tomcat 3.1. x 沒有進行中的活動開發。Apache Tomcat 3.1的用戶應該升級到3.1.1來關閉安全漏洞,並強烈鼓勵他們遷移到當前的產品版本 Apache Tomcat 3.3。
Apache Tomcat 3.0.x最初的Apache Tomcat版本。