Filter的声明周期

Posted 薛小生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Filter的声明周期相关的知识,希望对你有一定的参考价值。

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方法

以上是关于Filter的声明周期的主要内容,如果未能解决你的问题,请参考以下文章

filter与servlet

java---servlet与filter的联系与区别

关于片段生命周期

VSCode自定义代码片段——声明函数

Android片段生命周期:onResume调用了两次

调用 replace() 时片段的生命周期是啥?