官方鏈接:http://tomcat.apache.org/whichversion.html
Apache Tomcat版本
????????Apache Tomcat是一款實現(xiàn)了Java Servlet技術(shù)和JSP技術(shù)的開源軟件,不同版本的Apache Tomcat實現(xiàn)了相應(yīng)版本的Servlet和JSP規(guī)范,規(guī)范和Apache Tomcat各個版本之間的映射關(guān)系如下表所示:
Tomcat的每個版本都支持滿足上述表中最后一列要求的任何穩(wěn)定的Java版本。
????????Tomcat還能夠在滿足上述表中最后一列要求的任何Java的早期訪問構(gòu)建版本(early access build)中工作。例如,在第一個Java8的穩(wěn)定版發(fā)布之前,已經(jīng)有用戶在Java8上成功的將Tomcat8運行了幾個月了。然而,早期訪問構(gòu)建版本的用戶需要注意以下這些內(nèi)容:
????????1.對于最初的早期訪問構(gòu)建版本來說,包含可能導(dǎo)致Tomcat上運行的應(yīng)用程序出現(xiàn)問題的錯誤(bugs)并不罕見;
? ? ????2.如果新的Java版本引入了新的語言特性,那么默認(rèn)的JSP編譯器可能不會立即支持它們,將JSP編譯器切換至javac可能會使這些新的語言特性可以在JSP中使用;
? ? ????3.如果在使用早期訪問構(gòu)建版本的過程中真的發(fā)現(xiàn)了問題,請根據(jù)鏈接(http://tomcat.apache.org/findhelp.html)尋求幫助;
????????下面將更詳細(xì)地描述這些版本,以幫助您確定哪個版本適合您。有關(guān)每個版本的更多詳細(xì)信息,請參見相關(guān)的發(fā)行說明。
????????請注意,盡管我們提供舊版本的下載和文檔,如ApacheTomcat7.x,但我們強烈建議用戶盡可能使用最新穩(wěn)定版本的ApacheTomcat。我們認(rèn)識到,跨主要版本升級可能不是一項簡單的任務(wù),并且在郵件列表中仍然為舊版本的用戶提供一些支持。但是,由于社區(qū)驅(qū)動的支持方式,您的版本越舊,對您感興趣或能夠支持您的人就越少。
Alpha / Beta / Stable
????????當(dāng)對發(fā)布進(jìn)行投票時,審閱者指定他們認(rèn)為發(fā)布已經(jīng)達(dá)到的穩(wěn)定性級別。一個新的主要版本的初始版本通常經(jīng)歷了從Alpha版到Beta版再到Stable版的過程,需要幾個月的時間。然而,只有當(dāng)發(fā)布版所實現(xiàn)的Java規(guī)范已經(jīng)完成,穩(wěn)定性級別才可用。這意味著在所有其他方面都被認(rèn)為是穩(wěn)定的版本,如果規(guī)范不是最終的,那么仍然可以標(biāo)記為Beta。
????????下載頁面將始終顯示最新的穩(wěn)定版本和任何更新的Alpha或Beta版本(如果存在)。Alpha和Beta版本總是清晰地標(biāo)記在下載頁面上。
????????穩(wěn)定性是一種主觀判斷,對于您打算使用的任何版本,您都應(yīng)該仔細(xì)閱讀發(fā)行說明。如果您是發(fā)布的早期采用者,我們很高興聽到您對其穩(wěn)定性的意見,作為投票的一部分:它發(fā)生在開發(fā)郵件列表上(鏈接:http://tomcat.apache.org/lists.html)。
Alpha
????????Alpha版本可能包含大量未經(jīng)測試的功能、缺少規(guī)范所需的功能和重大錯誤,預(yù)計不會在任何時間段內(nèi)穩(wěn)定運行。
Beta
????????Beta版本可能包含一些未測試的功能和一些相對較小的錯誤,預(yù)計不會穩(wěn)定運行。
Stable
????????Stable版本可能包含少量相對較小的錯誤,計劃用于生產(chǎn)使用,預(yù)計將長期穩(wěn)定運行。
Apache Tomcat 9.x
? ??????ApacheTomcat9.x是當(dāng)前開發(fā)的重點。它構(gòu)建在Tomcat 8 .x和8.5 .x上,并實現(xiàn)Servlet 4.0、JSP 2.3、EL 3、WebSoCK 1.1和JASPIC 1.1規(guī)范(JavaEE 8平臺所需的版本)。除此之外,還包括以下重大改進(jìn):
????????1.添加對HTTP/2的支持(需要在Java 9上運行(因為Apache Tomcat 90.0.M18)或安裝了Tomcat Native庫);
????????2.添加了對使用OpenSSL來支持JSSE連接器(NIO和NIO2)的TLS的支持;
? ? ? ? 3.添加對TLS虛擬主機(SNI)的支持;
Apache Tomcat 8.x
? ??????ApacheTomcat8.0.x構(gòu)建在Tomcat7.0.x之上,實現(xiàn)了Servlet 3.1、JSP 2.3、EL 3.0和WebSocket 1.1規(guī)范。除此之外,還包括以下重大改進(jìn):
? ? ? ? 1.用于替換早期版本中提供的多個資源擴展功能的單一公共資源實現(xiàn);
? ??????ApacheTomcat8.5.x支持與ApacheTomcat8.0.x相同的Servlet、JSP、EL和WebSocket規(guī)范版本。此外,它還實現(xiàn)了JASPIC1.1規(guī)范。
????????它創(chuàng)建于2016年3月,作為Tomcat9.0.0.m4(alpha)里程碑版本的一個分支。它提供了來自Tomcat9.x代碼庫的HTTP/2支持和其他功能,同時與Tomcat8.0運行時和規(guī)范要求兼容。(Tomcat 9的穩(wěn)定版本無法在那時創(chuàng)建,因為Tomcat 9針對的JavaEE規(guī)范僅在幾年后才最終確定。)
????????Tomcat8.5被認(rèn)為是Tomcat8.0的替代品。有關(guān)遷移到Tomcat 8.5的指南,請參閱遷移指南(鏈接:http://tomcat.apache.org/migration.html)。
Apache Tomcat 8.5.x包括以下重大改進(jìn):
? ? ? ? 1.添加對HTTP/2的支持(需要Tomcat Native庫);
? ? ? ? 2.添加了對使用OpenSSL來支持JSSE連接器(NIO和NIO2)的TLS的支持;
? ? ? ? 3.添加對TLS虛擬主機(SNI)的支持;
? ? ? ? 4.在Apache Tomcat 8.5.x中刪除了以下技術(shù):
? ? ? ? 5.HTTP和AJP連接器的BIO實現(xiàn);
? ? ? ? 6.對Comet API的支持;
發(fā)動機罩下的許多區(qū)域都發(fā)生了重大變化,從而提高了性能、穩(wěn)定性和總擁有成本。有關(guān)詳細(xì)信息,請參閱Apache Tomcat 8.5更改日志。
????????Tomcat8.0的用戶應(yīng)該知道,Tomcat8.0現(xiàn)在已經(jīng)到了生命的盡頭。Tomcat 8.0.x的用戶應(yīng)該升級到Tomcat 8.5.x或更高版本。
Apache Tomcat 7.x
? ??????ApacheTomcat7.x建立在Tomcat6.0.x的改進(jìn)基礎(chǔ)上,實現(xiàn)了Servlet 3.0、JSP 2.2、EL 2.2和WebSocket 1.1規(guī)范。除此之外,還包括以下改進(jìn):
? ? ? ? 1.Web應(yīng)用程序內(nèi)存泄漏檢測和預(yù)防;
? ? ? ? 2.改進(jìn)了管理器和主機管理器應(yīng)用程序的安全性;
? ? ? ? 3.通用CSRF保護(hù);
? ? ? ? 4.支持將外部內(nèi)容直接包含在Web應(yīng)用程序中;
? ? ? ? 5.重構(gòu)(連接器、生命周期)和大量內(nèi)部代碼清理;
Apache Tomcat 6.x
? ??????ApacheTomcat6.x建立在Tomcat5.5.x中所做的改進(jìn)之上,并實現(xiàn)了Servlet 2.5和JSP 2.1規(guī)范。除此之外,還包括以下改進(jìn):
? ? ????1.內(nèi)存使用優(yōu)化;
????????2.高級IO功能;
????????3.重構(gòu)集群;
????????Tomcat6的用戶應(yīng)該知道,Tomcat6現(xiàn)在已經(jīng)到了生命的盡頭。Tomcat6.x的用戶應(yīng)該升級到Tomcat7.x或更高版本。
Apache Tomcat 5.x
? ??????ApacheTomcat5.x可以從歸檔文件中下載。
Apache Tomcat 5.5.x
????????ApacheTomcat5.5.x支持與ApacheTomcat5.0.x相同的servlet和JSP規(guī)范版本。發(fā)動機罩下的許多區(qū)域都發(fā)生了重大變化,從而提高了性能、穩(wěn)定性和總擁有成本。有關(guān)詳細(xì)信息,請參閱Apache Tomcat 5.5更改日志。
Apache Tomcat 5.0.x
????????ApacheTomcat5.0.x在許多方面改進(jìn)了ApacheTomcat4.1,包括:
? ? ? ? 1.性能優(yōu)化和減少垃圾收集;
? ? ? ? 2.重構(gòu)的應(yīng)用程序部署程序,帶有可選的獨立部署程序,允許在將Web應(yīng)用程序投入生產(chǎn)之前對其進(jìn)行驗證和編譯;
? ? ? ? 3.使用JMX和Manager Web應(yīng)用程序完成服務(wù)器監(jiān)控;
? ? ? ? 4.可擴展性(Scalability)和可靠性(Reliability)增強;
? ? ? ? 5.改進(jìn)了Taglibs處理,包括高級池和標(biāo)記插件;
? ? ? ? 6.改進(jìn)了平臺集成,帶有本機Windows和Unix包裝器;
? ? ? ? 7.使用JMX嵌入;
? ? ? ? 8.增強的安全管理器支持;
? ? ? ? 9.集成會話群集;
? ? ? ? 10.擴展文檔;
????????Tomcat 5的用戶應(yīng)該知道,Tomcat 5現(xiàn)在已經(jīng)到了生命的盡頭。Tomcat 5.x的用戶應(yīng)該升級到Tomcat 7.x或更高版本。
Apache Tomcat 4.x
? ??????ApacheTomcat4.x 可以從歸檔文件中下載
????????ApacheTomcat4.x實現(xiàn)了一個新的Servlet容器(稱為Catalina),它基于全新的架構(gòu)。4.x版本實現(xiàn)了Servlet 2.3和JSP 1.2規(guī)范。
Apache Tomcat 4.1.x
????????ApacheTomcat4.1.x是ApacheTomcat4.0.x的一個重構(gòu),包含重要的增強功能,包括:
? ? ? ? 1.基于JMX的管理功能;
? ? ? ? 2.基于JSP和Struts的管理Web應(yīng)用程序;
? ? ? ? 3.新的Coyote連接器(支持HTTP/1.1、AJP 1.3和JNI);
? ? ? ? 4.重寫Jasper JSP頁面編譯器;
? ? ? ? 5.提高性能和內(nèi)存效率;
? ? ? ? 6.增強的管理器應(yīng)用程序支持與開發(fā)工具集成;
? ? ? ? 7.從build.xml腳本直接與管理器應(yīng)用程序交互的自定義Ant任務(wù);
Apache Tomcat 4.0.x
????????ApacheTomcat4.0.6是舊的生產(chǎn)級版本。為了提高靈活性和性能,4.0 Servlet容器(Catalina)從一開始就得到了開發(fā)。版本4.0實現(xiàn)了Servlet 2.3和JSP 1.2規(guī)范的最終發(fā)布版本,根據(jù)規(guī)范的要求,ApacheTomcat4.0還支持為Servlet 2.2和JSP 1.1規(guī)范構(gòu)建的Web應(yīng)用程序,不做任何更改。
????????Tomcat4的用戶應(yīng)該知道,Tomcat4現(xiàn)在已經(jīng)到了生命的盡頭。Tomcat4.x的用戶應(yīng)該升級到Tomcat7.x或更高版本。
Apache Tomcat 3.x
? ??????ApacheTomcat3.x 可以從歸檔文件中下載
????????版本3.3是當(dāng)前的生產(chǎn)級版本,實現(xiàn)了Servlet 2.2 和 JSP 1.1規(guī)范。Apache Tomcat 3.3是Apache Tomcat 3.x架構(gòu)的最新延續(xù),它比3.2.4更先進(jìn),3.2.4是“舊”的生產(chǎn)級版本;
? ??????3.2.4是“舊”的生產(chǎn)級版本,現(xiàn)在只在維護(hù)模式;
????????版本3.1.1是一個遺留版本;
????????所有Apache Tomcat 3 .x都將其遺產(chǎn)追溯到原始的Servlet和JSP實現(xiàn),這些服務(wù)是Sun捐贈給Apache軟件基金會的。3.x版本完全實現(xiàn)了Servlet 2.2和JSP 1.1規(guī)范。
Apache Tomcat 3.3.x
????????版本3.3.2是當(dāng)前的生產(chǎn)級版本。它繼續(xù)進(jìn)行3.2版中開始的重構(gòu),并得出其邏輯結(jié)論。3.3版提供了更模塊化的設(shè)計,允許通過添加和刪除控制Servlet請求處理的模塊來定制Servlet容器。此版本還包含許多性能改進(jìn)。
Apache Tomcat 3.2.x
????????版本3.2自3.1以來增加了一些新功能,主要的工作是重構(gòu)內(nèi)部結(jié)構(gòu)以提高性能和穩(wěn)定性。3.2.1版本,如3.1.1,是一個安全補丁。版本3.2.2修復(fù)了大量的bug和所有已知的規(guī)范遵從性問題。版本3.2.3是一個安全更新,它關(guān)閉了一個嚴(yán)重的安全漏洞。版本3.2.4是一個小的錯誤修復(fù)版本。3.2.3之前版本的Apache Tomcat的所有用戶都應(yīng)盡快升級。除了修復(fù)關(guān)鍵的安全相關(guān)錯誤之外,ApacheTomcat3.2.x分支的開發(fā)已經(jīng)停止。
Apache Tomcat 3.1.x
????????3.1版本比ApacheTomcat3.0有幾個改進(jìn),包括servlet重新加載、war文件支持以及為IIS和Netscape Web服務(wù)器添加連接器。最新的維護(hù)版本3.1.1包含對安全問題的修復(fù)。Apache Tomcat 3.1.x沒有正在進(jìn)行的積極開發(fā)。Apache Tomcat 3.1的用戶應(yīng)該更新到3.1.1以關(guān)閉安全漏洞,強烈建議他們遷移到當(dāng)前的生產(chǎn)版本Apache Tomcat 3.3。
Apache Tomcat 3.0.x
????????最初的ApacheTomcat版本。
????????Tomcat3的用戶應(yīng)該知道,Tomcat3現(xiàn)在已經(jīng)到了生命的盡頭。Tomcat3.x的用戶應(yīng)該升級到Tomcat7.x或更高版本。