Apache Tomcat 5.5 系列將不再更新
Tomcat 團隊剛剛發布消息稱 Tomcat 5.5.x 將在 2012年9月30日停止更新,這意味著:
1. 不再有升級版本
2. 后續發現的只跟該版本相關的bug不再修復
3. 安全方面的漏洞不再對 5.5 進行檢查
而在 2012年12月31日后將:
- 5.5 版本的下載頁面將刪除
- 鏡像系統中的下載文件將刪除
- 版本控制系統中的 5.5 將移除
- 5.5 版本的文檔將從 tomcat.apache.org 中移除
- bugzilla 中關于 5.5.x 的內容將設為只讀
但是唯一保留的是可通過歸檔中獲取該版本。
2011年1月11日發布的Tomcat 7.0.6已經成為穩定版本,這是Tomcat 7分支的第一個穩定版本,用來取代2007年2月發布的Tomcat 6。
Apache決定不在Tomcat中添加對Java EE 6 Web Profile的完整支持,至少在眼下是這樣的。因此Tomcat 7中只是簡單地增加了Servlet 3.0(Java EE 6中引入的)的支持以及JavaServer Pages 2.2和EL 2.2的支持。新版本要求使用Java SE 6或更高版本。
Sevlet 3.0是一個重大更新,對規范做了很多細化,重點包括:
- 引入了對異步HTTP請求和響應的標準化支持。雖然異步支持在Tomcat 6里就有了,但那是通過一個非標準的API實現的,標準化意味著Servlet 3版本可移植到不同容器中。
- 動態配置:支持Web Fragment,庫程序可以用它來提供配置,不再需要開發者在應用程序的web.xml文件中增加特定于庫的配置。
- 配置過濾器、監聽器和Servlet時使用注解,進一步減少了開發者所要編寫的XML數量。
Servlet 3.0還大量使用了泛型,改善了會話追蹤,引入了新的文件上傳功能。
Tomcat 7中的改進也不是全都針對Servlet 3.0 API的,其中還有不少重要的安全性改進。現在針對基于腳本的訪問、基于Web的訪問、JMX代理訪問和狀態頁訪問有了獨立的角色,允許做更具體的訪問控制。為了避免跨站請求偽造(CSRF)攻擊,所有的非冪等性請求(即多次執行不會產生相同結果的操作)都要求生成一個隨機數。Tomcat 7還針對會話固定攻擊(session fixation attack)采取了一些防御措施。會話固定攻擊就是將客戶端的會話ID強制設置為一個明確的已知值。
開發團隊還將繼續致力于解決一些容器內存泄露的常見問題,改善日志系統,改善容器啟動時間。
最終Tomcat 7會提供一個輕量級API,允許開發者通過簡單的幾行代碼嵌入容器。
想要使用完整Java EE 6 Web Profile的開發者可以在自己的項目里包含API。然而,Simple Web Profile Application Server(一個由社區主導的項目)正不斷發展來彌補這一缺陷。此外 Apache Geronimo(Tomcat為其提供Servlet容器)將支持Web Profile和完整的Java EE 6 Profile。