首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

Servlet 規範演進史:從 2.2 到 4.0 核心特性完整回顧

     編輯:Java 綜合教學

Servlet 規範演進史:從 2.2 到 4.0 核心特性完整回顧

Servlet 作為 Java Web 開發基石,其規範版本演進見證了企業級開發模式的變遷。本文梳理各版本關鍵特性與里程碑意義。

核心概念

  • 狹義: 實現 javax.servlet.Servlet 介面的類
  • 廣義: 任何實現該介面的類,運行於支援 Java 的應用伺服器中
  • 核心職責: 處理 HTTP 請求/回應,生成動態 Web 內容

版本演進時間軸

Servlet 2.2 (奠基版)

  • 引入 獨立 Web 應用 概念
  • 奠定 web.xml 部署描述符基礎

Servlet 2.3 (2000/10) - 重大擴展

  • ✨ Filter / Filter Chain - 請求攔截與預處理
  • ✨ Listener 機制 - ServletContextListener, HttpSessionListener 等
  • ✨ 生命週期事件監聽 (初始化、銷毀、屬性綁定/解除)

Servlet 2.4 (2003/11) - 規範鞏固

  • 無顛覆性新功能,專注澄清、校驗、國際化
  • ✨ Schema-based web.xml - 元素順序不敏感、強驗證
  • ✨ Filter 新增 4 種 dispatcher: REQUEST, FORWARD, INCLUDE, ERROR
  • ✨ Request Listener / Attribute Listener
  • ✨ 棄用 SingleThreadModel
  • ✨ welcome-file-list 支援 Servlet 映射
  • ✨ ServletRequest 新增 getLocalName/Port, getRemotePort 等方法

Servlet 2.5 (2005/09) - 註解時代開啟

  • 基於 J2SE 5.0
  • ✨ 支援 Annotation (@WebServlet, @WebFilter 等)
  • ✨ web.xml 配置簡化
  • ✨ 移除部分限制、優化範例

Servlet 3.0 (Java EE 6 一部分) - 現代化重構

  • ✨ Web 片段 - 模組化配置
  • ✨ 異步處理 - AsyncContext, 非阻塞 I/O
  • ✨ 動態註冊 - ServletContext.addServlet() 等 API
  • ✨ 完整註解支援 - 可零 web.xml 部署
  • ✨ 文件上傳 API (@MultipartConfig)
  • ✨ 程式化安全配置

Servlet 3.1 (維護版)

  • 非阻塞 I/O 完善 (ReadListener/WriteListener)
  • HTTP 升級機制支援 (WebSocket 基礎)

Servlet 4.0 (草案/HTTP/2 時代) - 協議層躍升

核心目標:原生支援 HTTP/2,特性包含:

  • 🚀 請求/回應多工 - 單連接並行傳輸
  • 🚀 流優先級 - 關鍵資源優先載入
  • 🚀 伺服器推送 - 主動推送資源給客戶端
  • 🚀 HTTP/1.1 升級機制 - 平滑遷移

Listener 體系演進總表

版本新增 Listener新增 Event
2.2 / JSP 1.1HttpSessionBindingListenerHttpSessionBindingEvent
2.3 / JSP 1.2ServletContextListener, ServletContextAttributeListener, HttpSessionListener, HttpSessionActivationListener, HttpSessionAttributeListenerServletContextEvent, ServletContextAttributeEvent, HttpSessionEvent
2.4 / JSP 2.0ServletRequestListener, ServletRequestAttributeListenerServletRequestEvent, ServletRequestAttributeEvent

啟示: 從 2.3 的 Filter/Listener 到 3.0 的異步/註解,再到 4.0 的 HTTP/2,Servlet 規範始終緊貼 Web 技術前沿。理解演進脈絡,有助於選型與遷移決策。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved