說白話,eclipseJ2EE版本新建一個web項目後,在IDE中的項目根目錄下會看到2.3,2.4,2.5,3.0,3.1。。。。據說最新的4.0在路上,已經有草案了,很期待ing。
360百科是這麼描述的:
Servlet(Server Applet),全稱Java Servlet,未有中文譯文。是用Java編寫的服務器端程序。其主要功能在於交互式地浏覽和修改數據,生成動態Web內容。狹義的Servlet是指Java語言實現的一個接口,廣義的Servlet是指任何實現了這個Servlet接口的類,一般情況下,人們將Servlet理解為後者。
Servlet運行於支持Java的應用服務器中。從實現上講,Servlet可以響應任何類型的請求,但絕大多數情況下Servlet只用來擴展基於HTTP協議的Web服務器。
最早支持Servlet標准的是JavaSoft的Java Web Server。此後,一些其它的基於Java的Web服務器開始支持標准的Servlet。
等等了,還有很多就不再粘貼,主要說下版本問題:
:引入了 self-contained Web applications 的概念。
: 2000年10月份出來
Servlet API 2.3中最重大的改變是增加了 filters
Servlet 2.3 增加了 filters 和 filter chains 的功能。引入了 context 和 session listeners 的概念,當 context 或 session 被初始化或者被將要被釋放的時候,和當向 context 或 session 中綁定屬性或解除綁定的時候,可以對類進行監測。
: 2003年11月份出來
Servlet 2.4 加入了幾個引起關注的特性,沒有特別突出的新內容,而是花費了更多的功夫在推敲和闡明以前存在的一些特性上,對一些不嚴謹的地方進行了校驗。
Servlet 2.4 增加了新的最低需求,新的監測 request 的方法,新的處理 response 的方法,新的國際化支持,RequestDispatcher 的幾個處理,新的 request listener 類,session 的描述,和一個新的基於 Schema 的並擁有 J2EE 元素的發布描述符。這份文檔規范全面而嚴格的進行了修訂,除去了一些可能會影響到跨平台發布的模糊不清的因素。總而言之,這份規范增加了四個新類,七個新方法,一個新常量,不再推薦使用一個類。
注意:改為 Schema 後主要加強了兩項功能:
(1) 元素不依照順序設定;
(2) 更強大的驗證機制。
主要體現在:
a.檢查元素的值是否為合法的值
b.檢查元素的值是否為合法的文字字符或者數字字符
c.檢查 Servlet, Filter, EJB-ref 等等元素的名稱是否唯一
2.新增 Filter 四種設定:REQUEST、FORWARD、INCLUDE 和 ERROR。
3.新增 Request Listener、Event和Request Attribute Listener、Event。
4.取消 SingleThreadModel 接口。當 Servlet 實現 SingleThreadModel 接口時,它能確保同時間內,只能有一個 thread 執行此 Servlet。
5.<welcome-file-list>可以為Servlet。
6.ServletRequest接口新增一些方法。
public String getLocalName();
public String getLocalAddr();
public int getLocalPort();
public int getRemotePort()
2005 年 9 月發布 Servlet 2.5
Servlet 2.5 一些變化的介紹:
1) 基於最新的 J2SE 5.0 開發的。
2) 支持 annotations 。
3) web.xml 中的幾處配置更加方便。
4) 去除了少數的限制。
5) 優化了一些實例
Servlet 的各個版本對監聽器的變化有:
(1) Servlet 2.2 和 jsp1.1
新增Listener:HttpSessionBindingListener
新增Event: HttpSessionBindingEvent
(2) Servlet 2.3 和 jsp1.2
新增Listener:ServletContextListener,ServletContextAttributeListener
,HttpSessionListener,HttpSessionActivationListener,HttpSessionAttributeListener
新增Event: ServletContextEvent,ServletContextAttributeEvent,HttpSessionEvent
(3) Servlet 2.4 和 jsp2.0
新增Listener:ServletRequestListener,ServletRequestAttribureListener
新增Event: ServletRequestEvent,ServletRequestAttributeEvent
Servlet 3.0 作為 Java EE 6 規范體系中一員,隨著 Java EE 6 規范一起發布。該版本在前一版本(Servlet 2.5)的基礎上提供了若干新特性用於簡化 Web 應用的開發和部署。其中有幾項特性的引入讓開發者感到非常興奮,同時也獲得了 Java 社區的一片贊譽之聲:
從3.1到4.0將是對Servlet 協議的一次大改動,而改動的關鍵之處在於對HTTP/2的支持。HTTP2將是是繼上世紀末HTTP1.1協議規范化以來首個HTTP協議新版本,相對於HTTP1.1,HTTP2將帶來許多的增強。在草案提議中,Shing Wai列舉出了一些HTTP2的新特性,而這些特性也正是他希望在Servlet 4.0 API中實現並暴露給用戶的新功能,這些新特性如下:
1.請求/響應復用(Request/Response multiplexing)
2.流的優先級(Stream Prioritization)
3.服務器推送(Server Push)
4.HTTP1.1升級(Upgrade from HTTP 1.1)