Filter概述、接口及配置
目录
一、Filter概述
● Filter称为过滤器,位于客户端与处理程序之间,能够对请求和响应进行检查和修改 ● 当客户端对服务器资源发送请求时,服务器根据过滤规则进行检查,如果满足过滤规则,则对客户请求进行拦截,然后对请求头或请求数据进行修改或检查,并依次通过Filter链,最后将请求交给处理程序 ● 请求信息可以在过滤器中被修改,也可以根据请求条件不让请求发往处理程序
二、Filter接口
编写一个Filter必须实现Filter接口
相关方法:
Filter接口提供了三个方法,其中init()方法和destroy()方法是默认方法不强制重写,而doFilter()方法是抽象方法,在实训Filter接口四必须重写
三、Filter配置
配置Filter有两种方式,一种是通过web.xml文件进行配置,一种是通过@WebFilter注解进行配置
web.xml配置方式:
<!--在web.xml文件的web-app标签下写入以下内容--> <filter> <filter-name>FilterDemo</filter-name> <filter-class>com.liaoxiangqian.filter.FilterDemo</filter-class> </filter> <filter-mapping> <filter-name>FilterDemo</filter-name> <url-pattern>/ServletDemo</url-pattern> </filter-mapping>
@WebFilter注解配置方式:
@WebFilter("/ServletDemo") public class FilterDemo implements Filter { @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { System.out.println("FilterDemo执行了"); } }
@WebFilter常用属性:
注意:
如果需要拦截用户的所有请求,则可以使用*号通配符,如:
<url-pattern>/*</url-pattern> @WebFilter("/*")