Web application có thể định nghĩa nhiều filter với mục đích riêng. Ví dụ định nghĩa 2 filter AuthenFilter và LogFilter. Cấu hình mapping trong web.xml:
<filter>
<filter-name>LogFilter</filter-name>
<filter-class>LogFilter</filter-class>
<init-param>
<param-name>test-param</param-name>
<param-value>Initialization Paramter</param-value>
</init-param>
</filter>
<filter>
<filter-name>AuthenFilter</filter-name>
<filter-class>AuthenFilter</filter-class>
<init-param>
<param-name>test-param</param-name>
<param-value>Initialization Paramter</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>LogFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>AuthenFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Thứ tự áp dụng Filter
Thứ tự phần tử filter-mapping trong web.xml quyết định thứ tự container áp dụng filter cho servlet/JSP. Để đảo thứ tự, chỉ cần đảo thứ tự filter-mapping trong web.xml.
Ví dụ trên áp dụng LogFilter trước, rồi AuthenFilter. Đảo thứ tự:
<filter-mapping> <filter-name>AuthenFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter-mapping> <filter-name>LogFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>