說白話,eclipseJ2EE版本新建一個web項目後,在IDE中的項目根目錄下會看到2.3,2.4,2.5,3.0,3.1。。。。聽說最新的4.0在路上,已經有草案了,很期待ing。web
360百科是這麼描述的:服務器
Servlet(Server Applet),全稱Java Servlet,未有中文譯文。是用Java編寫的服務器端程序。其主要功能在於交互式地瀏覽和修改數據,生成動態Web內容。狹義的Servlet是指Java語言實現的一個接口,廣義的Servlet是指任何實現了這個Servlet接口的類,通常狀況下,人們將Servlet理解爲後者。session
Servlet運行於支持Java的應用服務器中。從實現上講,Servlet能夠響應任何類型的請求,但絕大多數狀況下Servlet只用來擴展基於HTTP協議的Web服務器。app
最先支持Servlet標準的是JavaSoft的Java Web Server。此後,一些其它的基於Java的Web服務器開始支持標準的Servlet。eclipse
等等了,還有不少就再也不粘貼,主要說下版本問題:jsp
:引入了 self-contained Web applications 的概念。優化
: 2000年10月份出來spa
Servlet API 2.3中最重大的改變是增長了 filtersxml
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
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)