一、执行目标资源之前做预处理操作,例如设置编码,这种Filter一般都会放行,只是再目标资源之前做一些准备工作
当我们想要设置响应报文的编码方式时,就可以实现一个Filter来对所有的请求进行设置,如下
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
servletResponse.setCharacterEncoding("utf8");
}
二、通过条件判断是否放行,例如校验当前用户是否已经登陆,或者用户IP是否已经被禁用
三、再目标资源执行后,做一些后续的特殊处理工作,例如把目标资源输出的数据进行处理,也就是人们常说的回程拦截