创建Filter步骤

创建Filter步骤:

创建Filter处理类

必须实现javax.servlet.Filter,该接口有init()完成filter初始化,destroy()完成资源回收,doFilter()过滤

web.xml文件中配置Filter

通过Annotation进行配置

@WebFilter修饰Filter支持如下属性:

asyncSupported:是否支持异步操作模式

dispatcherTypes:仅对dispatcher模式的请求进行过滤,支持ASYNC、ERROR、FORWARD、INCLUDE、REQUEST任意组合,默认为过滤所有

displayName:指定Filter显示名

filterName:指定该Filter的名称

initParams:为该Filter配置参数

servletNames:指定对这几个servlet进行过滤

urlPatterns/value:这两个属性的作用完全相同,都指定该Filter所拦截的URL

通过web.xml

<filter>
<!-- Filter的名字,相当于指定@WebFilter的filterName属性 -->
<filter-name>log</filter-name>
<!-- Filter的实现类 -->
<filter-class>lee.LogFilter</filter-class> 
</filter>
<!-- 定义Filter拦截的URL地址 -->
<filter-mapping>
<!-- Filter的名字 -->
<filter-name>log</filter-name>
<!-- Filter负责拦截的URL,相当于指定@WebFilter的urlPatterns属性 -->
<url-pattern>/*</url-pattern>
</filter-mapping>

原文地址:https://www.cnblogs.com/caohaifeng/p/5550770.html