這期內容當中小編將會給大家帶來有關如何了解Tomcat小版本差異,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
事情從這兒說起,項目里調試的時候,一個同事遇到了跨域的問題,我記得Tomcat有提供Filter來實現跨域(CORS Filter,之前寫過Tomcat與跨域問題),印象里是從Tomcat 7開始,就告訴人家直接部署到Tomcat7里,在應用的web.xml里配置CorsFilter就完事了。
結果沒多久人家興致勃勃的部署完發現不光沒成功,而且應用都啟動不成功了。
啥,誰在搞事情?
把catalina.jar從服務器上拉下來,果然沒有對應的class存在。所以問題很明白,是服務器上使用的版本還沒提供CorsFilter,那要升級到哪個版本才能用呢?
最簡單的辦法是直接下載Tomat 7.x的最新版本。那如果確實想了解下最低一個支持CorsFilter的版本,該怎么辦呢?
還有一次,同事在線下服務器測試一個功能,本地功能驗證正常,放到線下時功能不符合預期,后來各種debug分析,發現Jasper的一個特性實現在線下服務器還不支持,才發現是本地服務器和線下的小版本差了1個小版本。
所以,這里我們一起看兩個問題:
服務器上使用的是什么版本
Tomcat在哪個版本提供的這一特性,以及各個小版本間的差異
版本確定
如何確定當前使用的Tomcat版本呢?
在Tomcat的安裝目錄下有這樣一個文件:RELEASE-NOTES
打開看,在License信息的下方,第一屏的中心位置就顯示了當前Tomcat的版本
Apache Tomcat Version 7.0.xx (這里就是版本號)
Release Notes
除了版本信息,還有一些特性的提供,變更等。
此外,在Tomcat的bin目錄下,有一個version的腳本文件,運行下,可以了解當前的CATALINA_HOME,CATALINA_BASE,JRE_HOME, Tomcat版本、JDK版本等信息
當然,還有一種更常見的,甚至不需要登錄到服務器,只要你沒有對項目的錯誤頁(error-page, 錯誤頁面error-page的原理)做特別的設置,那么在請求一個不存在的資源時,一定會顯示下面這樣一個錯誤頁面,頁面的下方會顯示Tomcat的版本號。
版本間差異
確定了自己當前使用的版本,那怎樣選擇目標版本,或者說想了解某個特性是在具體的哪一版本提供時,就需要了解這個:
一般都稱為changelog
每個Tomcat的版本,都會提供一個changelog匯總,可以在Docs的頁面下方看到Apache Tomcat Developers這樣的一節,是為開發者提供的,第二項就是我們感興趣的Changelog
changelog頁面會包含許多信息,例如
bug,可以直接鏈接到其對應的bug系統里,可以查看詳細的一些修訂記錄
新添加的feature
做了哪些改進,改進說明
而且這些是按照模塊來分塊羅列的,例如下面這個圖
分Coyote和Catalina兩個模塊,每個帶有鏈接的bugId,可以直接跳轉到bug系統,里面飲食詳細的bug信息,環境描述,附件等,以及開發者之間的一些處理建議,修訂記錄。(這種報bug的方式,值得我們在遇到問題尋求幫助時學習,把環境,異常信息提供完整。如何尋求幫助-Tomcat官方建議這樣做)
像我們前面提到的CorsFilter,就可以在這里找到,這樣就可以確定具體增加該實現的版本了。
同樣的,對于某個特性的實現,可以在changelog里找,在你當前版本之后的某個版本做了修訂的,可以直接升級到對應版本即可,而且從中,也能了解一些處理的細節。
上述就是小編為大家分享的如何了解Tomcat小版本差異了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。