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( );