Servlet3.0 特性

人生最難的是堅持發表於2013-10-15
(1)允許使用annotation來修飾servlet,filter,listener,使web.xml不再是必需品。
EX:@WebServlet:用於修飾一個servlet類,用於部署servlet類。
   @WebInitParam:用於與@WebServlet或者WebFilter一起使用,為Servlet和Filter配置引數。
   @WebListener:用於修飾和部署Listener類。
   @WebFilter:用於修飾和部署Filter類。
(2)允許使用Web模組來部署和管理Web元件
一個Web模組對應一個JAR包,檔案結構如下
|-META-INF
| |-web-fragment.xml
|-Web模組的檔案與資源
web-fragment.xml檔案是對於Web模組的部署的描述符,其可以指定
<name />:用於指定該模組的名稱
<ordering />:用於指定載入該Web模組的相對順序
(3)非同步處理,允許servlet重新開啟一條新執行緒來處理耗時的業務方法,從而避免了等待。
呼叫非同步處理是通過AsyncContext類來處理,Servlet可通過ServletRequest的如下兩個方法來開啟非同步呼叫,建立AsyncContext物件:
AsyncContext startAsync()
AsyncContext startAsync(ServletRequest,ServletResponse)
呼叫如上方法可獲得一個AsyncContext物件,其代表了非同步處理的上下文,它提供了設定非同步呼叫超時時長,dispatch用於請求,啟動後臺執行緒,獲取request和response物件等功能。

相關文章