@WebFilterEk açıklama kullanarak filtre yürütme sırasını tanımlayamazsınız . Bununla birlikte, web.xmlkullanımı en aza indirmek için , tüm filtrelere açıklama eklemek yeterlidir, filterNameböylece <filter>tanıma ihtiyacınız yoktur , ancak <filter-mapping>istenen sırayla bir tanım gerekir.
Örneğin,
@WebFilter(filterName="filter1")
public class Filter1 implements Filter {}
@WebFilter(filterName="filter2")
public class Filter2 implements Filter {}
içinde birlikte web.xmlsadece bu:
<filter-mapping>
<filter-name>filter1</filter-name>
<url-pattern>/url1/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>filter2</filter-name>
<url-pattern>/url2/*</url-pattern>
</filter-mapping>
URL kalıbını içeride tutmak @WebFilteristiyorsanız, bunu yapabilirsiniz,
@WebFilter(filterName="filter1", urlPatterns="/url1/*")
public class Filter1 implements Filter {}
@WebFilter(filterName="filter2", urlPatterns="/url2/*")
public class Filter2 implements Filter {}
ama yine de tutmalı <url-pattern>in web.xmlo XSD uyarınca gerekli çünkü o boş olabilir ancak,:
<filter-mapping>
<filter-name>filter1</filter-name>
<url-pattern />
</filter-mapping>
<filter-mapping>
<filter-name>filter2</filter-name>
<url-pattern />
</filter-mapping>
Yaklaşımdan bağımsız olarak, bu, Tomcat'te 7.0.28 sürümüne kadar başarısız olacaktır çünkü <filter-mapping>onsuz varlığını boğar <filter>. Ayrıca bkz . Tomcat'i kullanma, @WebFilter web.xml içindeki <filter-mapping> ile çalışmaz
orderiç içe bir@WebFilterMappingek açıklama niteliği getirebilirlerdi . Basitlik için yapmadım mı acaba