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

[html] view plain copy
 
  1. <filter>  
  2. <!-- Filter的名字,相当于指定@WebFilter的filterName属性 -->  
  3. <filter-name>log</filter-name>  
  4. <!-- Filter的实现类 -->  
  5. <filter-class>lee.LogFilter</filter-class>   
  6. </filter>  
  7. <!-- 定义Filter拦截的URL地址 -->  
  8. <filter-mapping>  
  9. <!-- Filter的名字 -->  
  10. <filter-name>log</filter-name>  
  11. <!-- Filter负责拦截的URL,相当于指定@WebFilter的urlPatterns属性 -->  
  12. <url-pattern>/*</url-pattern>  
  13. </filter-mapping
原文地址:https://www.cnblogs.com/6bu6/p/8647248.html