232

问答题 232 /413

请你回答一下Filter主要是做什么的,filter和Servlet先过哪个,FilterChain 是什么意思

参考答案

参考回答:

Filter:过滤器,过滤器是一些web应用程序组件,可以绑定到一个web应用程序中,但是与其他web应用程序组件不同的是,过滤器是链在容器的处理过程中的,这就意味它们会在servlet处理器之前访问一个进入的请求,并且在外发响应信息返回到客户前访问这些响应信息。这种访问使得过滤器可以检查并修改请求和响应的内容。

filter和Servlet先过哪个

先执行filter再执行servlet,servlet执行完后再执行filter

FilterChain 是什么意思

过滤链FilterChain

两个过滤器,EncodingFilter负责设置编码,SecurityFilter负责控制权限,服务器会按照web.xml中过滤器定义的先后循序组装成一条链,然后一次执行其中的doFilter()方法。执行的顺序就如下图所示,执行第一个过滤器的chain.doFilter()之前的代码,第二个过滤器的chain.doFilter()之前的代码,请求的资源,第二个过滤器的chain.doFilter()之后的代码,第一个过滤器的chain.doFilter()之后的代码,最后返回响应。