过滤器(Filter)
1.过滤器简介
过滤器可以动态的拦截请求和响应,以变换或使用包含在请求或响应中的信息,它是Servlet技术中最实用的技术,属于系统级别,主要利用函数的回调实现.。
主要应用场景有:实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息、设置字符编码等一些高级功能。
它主要用于对用户请求进行预处理,也可以对HttpServletResponse 进行后处理。使用Filter 的完整流程:Filter 对用户请求进行预处理,接着将请求交给Servlet 进行处理并生成响应,最后Filter 再对服务器响应进行后处理。
主要功能:①在HttpServletRequest 到达 Servlet 之前,拦截客户的 HttpServletRequest 。 根据需要检查 HttpServletRequest ,也可以修改HttpServletRequest 头和数据。②在HttpServletResponse 到达客户端之前,拦截HttpServletResponse 。 根据需要检查 HttpServletResponse ,也可以修改HttpServletResponse头和数据。
2.方法:
①public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain)
该方法完成实际的过滤操作,当客户端请求方法与过滤器设置匹配的 URL 时,Servlet 容器将先调用过滤器的 doFilter 方法。
FilterChain 用户访问后续过滤器。
②public void init(FilterConfig filterC