首页 > 技术文章 > Filter的生命周期

xuesheng 2017-08-20 11:26 原文

1.首先是在服务器在启动的时候,执行Filter的构造函数,然后是init方法。
2.在请求到达的时候调用doFilter方法里的语句。
3.执行chain.doFilter函数:

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {

System.out.println("执行了doFilter");
chain.doFilter(request, response);
System.out.println("返回了doFilter");

}

 


每一次拦截请求时都会调用。
参数:
ServletRequest request
> 请求报文
ServletResponse response
> 响应报文
FilterChain chain
> 该对象的作用就是放行请求:
可以通过 chain.doFilter(request,response) 放行请求。
当调用chain.doFilter()就相当于调用目标资源的service()方法。
4.服务器运行请求的web资源。
4.再之后是doFilter的剩下的语句。
5.最后是destroy方法

推荐阅读