Apache Tomcat® 是 Jakarta EE(以前稱為 Java EE)技術子集的開源軟體實作。Apache Tomcat 的不同版本適用於不同版本的規格。以下為 規格 與對應 Apache Tomcat 版本的對應表
目前支援的版本
Servlet 規格 |
JSP 規格 |
EL 規格 |
WebSocket 規格 |
驗證規格 (JASPIC) |
Apache Tomcat 版本 |
最新發布版本 |
支援的 Java 版本 |
6.1 |
4.0 |
6.0 |
2.2 |
3.1 |
11.0.x |
11.0.0-M19 (alpha) |
17 及更新版本 |
6.0 |
3.1 |
5.0 |
2.1 |
3.0 |
10.1.x |
10.1.23 |
11 及更新版本 |
4.0 |
2.3 |
3.0 |
1.1 |
1.1 |
9.0.x |
9.0.89 |
8 及更新版本 |
不支援的版本
這些版本的 Apache Tomcat 已達使用期限,建議使用者升級到支援的版本。
Servlet 規格 |
JSP 規格 |
EL 規格 |
WebSocket 規格 |
驗證規格 (JASPIC) |
Apache Tomcat 版本 |
最後1發布版本 |
支援的 Java 版本 |
使用期限結束日期 |
5.0 |
3.0 |
4.0 |
2.0 |
2.0 |
10.0.x(已取代) |
10.0.27(已取代) |
8 及更新版本 |
2022-10-31 |
3.1 |
2.3 |
3.0 |
1.1 |
1.1 |
8.5.x(EOL) |
8.5.100(EOL) |
7 及更新版本 |
2024-03-31 |
3.1 |
2.3 |
3.0 |
1.1 |
不適用 |
8.0.x(已取代) |
8.0.53(已取代) |
7 及更新版本 |
2018-06-30 |
3.0 |
2.2 |
2.2 |
1.1 |
不適用 |
7.0.x(已封存) |
7.0.109(已封存) |
6 及更新版本 (WebSocket 為 7 及更新版本) |
2021-03-31 |
2.5 |
2.1 |
2.1 |
不適用 |
不適用 |
6.0.x(已封存) |
6.0.53(已封存) |
5 及更新版本 |
2016-12-31 |
2.4 |
2.0 |
不適用 |
不適用 |
不適用 |
5.5.x(已封存) |
5.5.36(已封存) |
1.4 及更新版本 |
2012-09-31 |
2.3 |
1.2 |
不適用 |
不適用 |
不適用 |
4.1.x(已封存) |
4.1.40(已封存) |
1.3 及更新版本 |
2009-06-25 |
2.2 |
1.1 |
不適用 |
不適用 |
不適用 |
3.3.x(已封存) |
3.3.2(已封存) |
1.1 及更新版本 |
2004-03-09 |
*「最終」版本絕不會絕對最終,但這些版本之後的版本極不可能再有。
|
Tomcat 的每個版本都支援任何符合上表最後一欄需求的穩定 Java 版本。
Tomcat 也應該可以在任何符合上表最後一欄需求的 Java 早期存取版本上執行。例如,使用者在第一個穩定 Java 8 版本發布前好幾個月就在 Java 8 上成功執行 Tomcat 8。但是,早期存取版本的使用者應該注意以下事項
- 最初的早期存取版本包含錯誤並非不尋常,這些錯誤可能會導致在 Tomcat 上執行的網路應用程式出現問題。
- 如果新的 Java 版本引進新的語言功能,預設的 JSP 編譯器可能無法立即支援這些功能。將 JSP 編譯器切換為 javac 可以讓這些新的語言功能用於 JSP。
- 如果你在使用 Java 早期存取版本時確實發現問題,請尋求協助。Tomcat 使用者的郵件清單可能是開始的最佳地點。
以下會更詳細地說明各個版本,以協助你判斷哪個版本最適合你。可以在相關的版本說明中找到每個版本的更多詳細資料。
請注意,儘管我們提供舊版本(例如 Apache Tomcat 7.x)的下載和文件,我們強烈建議使用者盡可能使用 Apache Tomcat 的最新穩定版本。我們了解跨主要版本升級可能不是一件小事,而且舊版本使用者在郵件清單上仍然可以獲得一些支援。但是,由於採用社群驅動的支援方式,你的版本越舊,願意或有能力支援你的人就越少。
在對版本投票時,審查者會指定他們認為版本已達到的穩定程度。新主要版本的最初版本通常會在幾個月內從 Alpha 處理到 Beta,再到穩定。但是,只有在版本實作的 Java 規格已定稿後,才會有穩定程度。這表示,在其他所有方面都被視為穩定的版本,如果規格尚未定稿,仍然可能標示為 Beta。
下載頁面將永遠顯示最新的穩定版本,以及如果有的話,任何更新的 Alpha 或 Beta 版本。Alpha 和 Beta 版本在下載頁面上總是會清楚標示。
穩定性是一項主觀判斷,您應始終仔細閱讀您打算使用的任何版本的發行說明。如果您是某個版本的早期採用者,我們很樂意聽取您對其穩定性的意見,作為投票的一部分:它會在開發郵件列表上進行。
Alpha 版本可能包含規格要求的大量未測試/遺漏功能和/或重大錯誤,並且預計無法在任何時間長度內穩定運行。
Beta 版本可能包含一些未測試的功能和/或一些相對較小的錯誤。預計 Beta 版本無法穩定運行。
Stable 版本可能包含少數相對較小的錯誤。Stable 版本旨在用於生產,並且預計可以在長時間內穩定運行。
Apache Tomcat 11.0.x (Alpha)
Apache Tomcat 11.0.x 是目前開發的重點。它建立在 Tomcat 10.1.x 上,並實作Servlet 6.1、JSP 4.0、EL 6.0、WebSocket 2.2 和Authentication 3.1 規格(Jakarta EE 11 平台所需的版本)。
Apache Tomcat 10.1.x (Stable)
Apache Tomcat 10.1.x 建立在 Tomcat 10.0.x 上,並實作Servlet 6.0、JSP 3.1、EL 5.0、WebSocket 2.1 和Authentication 3.0 規格(Jakarta EE 10 平台所需的版本)。
Apache Tomcat 9.x (Stable)
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 規格(Java EE 8 平台所需的版本)。除此之外,它還包括以下重大改進
- 新增對 HTTP/2 的支援(需要在 Java 9 上執行(自 Apache Tomcat 9.0.0.M18 起)或已安裝Tomcat Native 函式庫)
- 新增對使用 OpenSSL 提供 JSSE 連接器(NIO 和 NIO2)的 TLS 支援
- 新增對 TLS 虛擬主機 (SNI) 的支援
Apache Tomcat 10.0.x(已取代)
Apache Tomcat 10.0.x 建立在 Tomcat 9.0.x 上,並實作Servlet 5.0、JSP 3.0、EL 4.0、WebSocket 2.0 和Authentication 2.0 規格(Jakarta EE 9 平台所需的版本)。
Tomcat 10.0 的使用者應注意,Tomcat 10.0 現已達到使用壽命結束。Tomcat 10.0.x 的使用者應升級至 Tomcat 10.1.x 或更新版本。
Apache Tomcat 8.x (EOL)
Apache Tomcat 8.0.x 建立在 Tomcat 7.0.x 上,並實作Servlet 3.1、JSP 2.3、EL 3.0 和WebSocket 1.1 規格。除此之外,它還包括以下重大改進
- 單一且通用的資源實作,用以取代先前版本中提供的多項資源擴充功能。
Apache Tomcat 8.5.x 支援與 Apache Tomcat 8.0.x 相同的 Servlet、JSP、EL 和 WebSocket 規格版本。此外,它也實作了 JASPIC 1.1 規格。
它於 2016 年 3 月建立,作為 Tomcat 9.0.0.M4 (alpha) 里程碑版本的衍生版本。它提供 HTTP/2 支援以及 Tomcat 9.x 程式碼庫中的其他功能,同時與 Tomcat 8.0 執行時間和規格需求相容。(當時無法建立 Tomcat 9.0 的穩定版本,因為 Tomcat 9 所針對的 Java EE 規格直到幾年後才定案)。
Tomcat 8.5 被視為 Tomcat 8.0 的替代品。請參閱 遷移指南 以取得有關遷移至 Tomcat 8.5 的指引。
Apache Tomcat 8.5.x 包含下列重大改進
- 新增對 HTTP/2 的支援(需要 Tomcat Native 函式庫)
- 新增對使用 OpenSSL 提供 JSSE 連接器(NIO 和 NIO2)的 TLS 支援
- 新增對 TLS 虛擬主機 (SNI) 的支援
Apache Tomcat 8.5.x 中已移除下列技術
- HTTP 和 AJP 連接器的 BIO 實作
- 對 Comet API 的支援
引擎內部有許多重大變更,進而改善效能、穩定性和總體擁有成本。請參閱 Apache Tomcat 8.5 變更日誌以取得詳細資料。
Tomcat 8.0 使用者應注意,Tomcat 8.0 現已達到 生命週期結束。Tomcat 8.0.x 使用者應升級至 Tomcat 8.5.x 或更新版本。
Tomcat 8.5 使用者應注意,Tomcat 8.5 現已達到 生命週期結束。Tomcat 8.5.x 使用者應升級至 Tomcat 9.0.x 或更新版本。
Apache Tomcat 7.x(已封存)
Apache Tomcat 7.x 建立在 Tomcat 6.0.x 中的改進之上,並實作 Servlet 3.0、JSP 2.2、EL 2.2 和 WebSocket 1.1 規格。此外,它包含下列改進
- Web 應用程式記憶體外洩偵測與防範
- Manager 和 Host Manager 應用程式的安全性改進
- 一般性 CSRF 防護
- 支援直接在 Web 應用程式中包含外部內容
- 重構(連接器、生命週期)和大量內部程式碼清理
Tomcat 7 使用者應注意,Tomcat 7 已達生命週期結束。Tomcat 7.x 使用者應升級至 Tomcat 8.5.x 或更新版本。
Apache Tomcat 6.x(已封存)
Apache Tomcat 6.x 建立在 Tomcat 5.5.x 中的改進之上,並實作Servlet 2.5 和 JSP 2.1 規格。此外,還包括下列改進
Tomcat 6 使用者應注意,Tomcat 6 已達生命週期結束。Tomcat 6.x 使用者應升級至 Tomcat 7.x 或更新版本。
Apache Tomcat 5.x(已封存)
Apache Tomcat 5.x 可從檔案庫下載。
Apache Tomcat 5.5.x 支援與 Apache Tomcat 5.0.x 相同的 Servlet 和 JSP 規格版本。引擎蓋下許多區域有重大變更,進而提升效能、穩定性和總體擁有成本。請參閱 Apache Tomcat 5.5 變更日誌以取得詳細資料。
Apache Tomcat 5.0.x 在許多方面改進 Apache Tomcat 4.1,包括
- 效能最佳化和減少垃圾回收
- 重構應用程式部署器,具有一個可選的獨立部署器,允許在將 Web 應用程式投入生產之前驗證和編譯
- 使用 JMX 和管理員 Web 應用程式進行完整的伺服器監控
- 可擴充性和可靠性增強
- 改善 Taglibs 處理,包括進階池和標籤外掛程式
- 改善平台整合,具備原生 Windows 和 Unix 包裝器
- 使用 JMX 嵌入
- 增強安全性管理員支援
- 整合式工作階段叢集
- 擴充文件
Tomcat 5 使用者應注意,Tomcat 5 已達生命週期結束。Tomcat 5.x 使用者應升級至 Tomcat 7.x 或更新版本。
Apache Tomcat 4.x(已封存)
Apache Tomcat 4.x 可從檔案庫下載。
Apache Tomcat 4.x 實作一個新的 servlet 容器(稱為 Catalina),它基於全新的架構。4.x 版本實作Servlet 2.3 和 JSP 1.2 規格。
Apache Tomcat 4.1.x 是 Apache Tomcat 4.0.x 的重構,包含重大增強功能,包括
- 基於 JMX 的管理功能
- 基於 JSP 和 Struts 的管理 Web 應用程式
- 新的 Coyote 連接器(HTTP/1.1、AJP 1.3 和 JNI 支援)
- 重新編寫 Jasper JSP 頁面編譯器
- 效能和記憶體效率改善
- 增強管理員應用程式支援,以整合開發工具
- 自訂 Ant 任務,直接從 build.xml 腳本與管理員應用程式互動
Apache Tomcat 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 規格所建置的網路應用程式,無需變更。
Tomcat 4 的使用者應注意,Tomcat 4 現已達到生命週期終點。Tomcat 4.x 的使用者應升級至 Tomcat 7.x 或更新版本。
Apache Tomcat 3.x(已封存)
Apache Tomcat 3.x 可從封存下載。
- 3.3 版本是 Servlet 2.2 和 JSP 1.1 規格的現行生產品質版本。Apache Tomcat 3.3 是 Apache Tomcat 3.x 架構的最新延伸;它比 3.2.4(「舊」的生產品質版本)更進階。
- 3.2.4 版本是「舊」的生產品質版本,現已僅處於維護模式。
- 3.1.1 版本是舊版。
所有 Apache Tomcat 3.x 版本都追溯其源頭至 Sun 捐贈給 Apache 軟體基金會的原始 Servlet 和 JSP 實作。3.x 版本都實作 Servlet 2.2 和 JSP 1.1 規格。
Apache Tomcat 3.3.x。3.3.2 版本是現行生產品質版本。它延續了 3.2 版本開始的重構,並將其推向合乎邏輯的結論。3.3 版本提供更具模組化的設計,並允許透過新增和移除控制 servlet 要求處理的模組,來自訂 servlet 容器。此版本也包含許多效能改善。
Apache Tomcat 3.2.x。自 3.1 以來,3.2 版新增了幾個新功能;主要工作是重新整理內部結構以提升效能和穩定性。3.2.1 版與 3.1.1 版一樣,是安全補丁。3.2.2 版修正了大量錯誤和所有已知規格相容性問題。3.2.3 版是安全更新,用於關閉嚴重的安全漏洞。3.2.4 版是次要錯誤修正版本。所有低於 3.2.3 版的 Apache Tomcat 使用者都應盡快升級。除了針對關鍵安全相關錯誤的修正外,Apache Tomcat 3.2.x 分支的開發已停止。
Apache Tomcat 3.1.x。3.1 版包含多項相較於 Apache Tomcat 3.0 的改進,包括 servlet 重新載入、WAR 檔案支援,以及為 IIS 和 Netscape 網路伺服器新增連接器。最新的維護版本 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 初始版本。
Tomcat 3 的使用者應注意,Tomcat 3 現已停止支援。Tomcat 3.x 的使用者應升級至 Tomcat 7.x 或更新版本。