JavaWeb中的servlet过滤器就像是自来水被过滤的过程。一层层的过滤直到符合使用标准。
Filter简单来说就是过滤器,用来对request和response进行修改,当用户的请求到达指定的URL之前,
可以借助Filter来改变这些请求的内容:同样的当响应结果到客户端前,可以使用Filter修改输出的内容。
Filter中有FilterChain(过滤器链)的概念,一个FilterChain中包含了多个Filter。客户端请求和响应的时候
都会经过过滤器链中的过滤器。
Filter的用处
(1)字符编码集
(2)权限验证
(3)session管理
(4)日志记录
(5)响应格式设置
Servlet中实现一个过滤器,则要实现一个接口
接口中放了
void init(FilterConfig filterConfig)
上面的方法在过滤器初始化时调用,整个生命周期只被调用一次通过FilterConfig获取配置的初始化 参数
通过FilterConfig取得配置的初始化参数
void doFilter(ServletRequest,ServletResponse response,FilterChain chain)
完成具体的过滤,然后通过FilterChain chain,让请求向下传递
void destory()
过滤器销毁时调用,在整个Filter生命周期只会被掉用 一次。