概念
过滤器是出于客户端与服务器目标资源之间的一道过滤技术
过滤器的作用
过滤器的执行地位在servlet前,客户端发送请求时,会先经过Filter,再到达目标Servlet中;响应时会根据执行流程再次反向执行Filter
可以解决多个servlet共性代码冗余问题,例如乱码处理、登录验证
编写过滤器
Servlet API中提供了一个Filter接口,开发人员编写一个Java类实现这个接口即可,这个Java类就被称之为过滤器
这个类需重写init、destory、doFilter三个方法,其中doFilter就是我们的拦截方法
在该类配置注解@WebFilter(value = "要拦截的资源路径")即可实现过滤器的资源拦截
客户端在访问被拦截资源时会执行该过滤器的doFilter方法,其中doFilter方法中的chain参数可以执行doFilter方法继续响应客户端请求(放行)
xml配置
除了编写注解,我们还可以在web.xml中配置过滤器,与servlet相似,我们需要配置两个标签
过滤器链与优先级