栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何使用WAR中的注释定义servlet过滤器的执行顺序

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使用WAR中的注释定义servlet过滤器的执行顺序

您确实不能使用

@WebFilter
注释定义过滤器执行顺序。但是,为了最大程度地减少
web.xml
使用量,仅用a注释所有过滤器就足够了,
filterName
这样您就不需要
<filter>
定义,而只需
<filter-mapping>
按所需顺序定义即可。

例如,

@WebFilter(filterName="filter1")public class Filter1 implements Filter {}@WebFilter(filterName="filter2")public class Filter2 implements Filter {}

与web.xml只是这样:

<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>

如果您希望将网址格式保留在中@WebFilter,则可以这样做,

@WebFilter(filterName="filter1", urlPatterns="/url1/*")public class Filter1 implements Filter {}@WebFilter(filterName="filter2", urlPatterns="/url2/*")public class Filter2 implements Filter {}但您仍应保留<url-pattern>in

web.xml
,因为XSD要求它是必需的,尽管它可以为空:

<filter-mapping>    <filter-name>filter1</filter-name>    <url-pattern /></filter-mapping><filter-mapping>    <filter-name>filter2</filter-name>    <url-pattern /></filter-mapping>

不管采用哪种方法,这一切都将在

Tomcat 7.0.28
版之前失败,因为它会在不存在的
<filter-mapping>
情况下窒息
<filter>



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/407084.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号