过滤器使用Servlet3.0提供的@webFilter注解,配置过滤的URL规则,实现Filter接口,重写doFilter
具体实现代码如下:
import org.springframework.stereotype.Component; import javax.servlet.*; import javax.servlet.annotation.WebFilter; import java.io.IOException; @Component @WebFilter(urlPatterns = "/*") public class TestFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { System.out.println("过滤器 init方法"); } @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { System.out.println("过滤器 doFilter方法开始"); filterChain.doFilter(servletRequest,servletResponse); System.out.println("过滤器 doFilter方法结束"); } @Override public void destroy() { System.out.println("过滤器 destroy方法"); } }
1、void init 方法,是容器启动的时候(初始化Filter)会被调用,整个程序运行期会被调用一次,简单理解就是项目启动的时候执行一次。如下图
2、void doFilter方法,具体的过滤功能代码,通过此方法对请求过滤处理,其中FilterChain参数是用来调用下一个过滤器或者执行下一个流程,说明下,过滤器可以建多个。
3、void destory()方法是用于Filter销毁前完成相关资源的回收工作
标签:doFilter,springMVC,void,System,实现,过滤器,println,out From: https://www.cnblogs.com/qwg-/p/18087693