servlet3.0新特性

1.添加註解支持,這些annotation主要放在javax.servlet.annotation包裏面,servlet不但可以使用這些annotation,還可以使用java其它通用註解。
2.添加servlet模塊化功能,官方術語叫web fragment,也就是一個web項目可以有多個類似web.xml功能文件,當然一個項目只能有一個web.xml文件,可以有多個web- fragment.xml文件,服務器會從WEB-INF/classes與WEB-INF/lib目錄尋找web-fragment.xml文件,WEB-INF/lib下的web-fragment.xml文件必須放到jar包的META-INFA目錄下。最後,這些web- frament.xml文件可以指定順序。
3.提高servlet的元編程能力,也就是動態註冊servlet,filter,listener。主要表現就是 javax.servlet.ServletContext接口中添加了很多方法,比如:addServlet、addFilter、 addListener,這些方法可以動態的添加servlet,filter,listener等
4.添加了對文件上傳的直接支持,給javax.servlet.http.HttpServletRequest添加了getPart與getParts方法,並添加了javax.servlet.http.Part接口,其實早應該提供這個功能,統一文件上傳接口。
5.把JSP文件作爲資源文件打包到jar包,直接部署到WEB-INF/lib目錄,這對產品化開發的項目又很多好處。JSP文件必須放到jar包裏的一個特定目錄:jar/META-INF/resources。這個目錄是有servlet規範指定的,不可以更改。
6.添加了javax.servlet.SessionCookieConfig接口,支持session跟蹤自定義,我們都知道cookie是用來實現session機制的其中一種方法,而且大部分時候是服務器的默認首選方法,在servlet3.0之前用來實現session的cookie的默認名稱是jsessionid,servlet規範沒有提供接口來自定義該屬性。暫時沒看出這個自定義有什麼好處。
7.最重要的新特性:支持異步操作,這等於是把服務器端對AJAX的支持提升到規範的層面,以前servlet對ajax支持都是模擬出來的,因爲servlet同步操作,必須有返回值,即使瀏覽器端不要任何返回結果,線程也要等待servlet執行完畢。
8.ServletContainerInitializer
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章