Servlet 2.4 的新功能
1.
web.xml DTD 改用XML Schema,
主要加強兩項功能:
(1) 元素可不依照順序設定;
(2) 更強大的驗證機制。
???a.?可檢查元素的值是否為合法的值。例如:<filter-mapping>的<dispatcher>元素,其值只
能為REQUEST、FORWARD、INCLUDE 和ERROR
?? b.可檢查如Servlet、Filter 或EJB-ref 等等元素的名稱是否惟一
???c.可檢查元素值是否為合法文字字符或數字字符
2.新增Filter 四種設定;
filter-mapping-->dispatcher-->
?四種設定為:REQUEST、FORWARD、INCLUDE 和ERROR。
FORWARD: RequestDispatcher.forward()?? REQUEST: 由客戶端發出請求
INCLUDE: RequestDispatcher.include()?? ERROR:
3.?新增Request Listener、Event 和Request Attribute Listener、Event
?
4. Servlet 2.4 其他較顯著的變更如:
?a.?
????取消SingleThreadModel接口。當Servlet實現SingleThreadModel 接口時,它能確保同時間內,只能有一個thread 執行此Servlet。
?b.
<welcome-file-list>可以為Servlet。
?<servlet>
??<servlet-name>Index</servlet-name>
??<servlet-class>tw.com.javaworld.IndexServlet</servlet-class>
?</servlet>
?......
?<welcome-file-list>
??<welcome-file>Index</welcome-file>
?</welcome-file-list>
?c.
???ServletRequest 接口新增一些方法,如:
??public String getLocalName( );
??public String getLocalAddr( );
??public int getLocalPort( );
??public int getRemotePort( );