一Filter
1.Filter定义
过滤器可以对客户端请求到达web资源之前进行请求的预处理,也可以用来服务端响应到达客户端之前进行响应的预处理。
Java中的Filter 并不是一个标准的Servlet ,它不能处理用户请求,也不能对客户端生成响应。 主要用于对HttpServletRequest 进行预处理,也可以对HttpServletResponse 进行后处理,是个典型的处理链。
2.三个方法
doFilter(ServletRequest, ServletResponse, FilterChain)这是一个完成过滤行为的方法。这同样是上游过滤器调用的方法。引入的FilterChain对象提供了后续过滤器所要调用的信息。dofilter()方法放行,放行给其他过滤器或者web资源。
init(FilterConfig):由Web容器来调用完成过滤器的初始化工作。它保证了在第一次doFilter()调用前由容器调用。您能获取在web.xml 文件中指定的初始化参数。
destroy()由Web容器来调用来释放资源,doFilter()中的所有活动都被该实例终止后,调用该方法。
过滤器如何按顺序进行,可以配置过滤路径。可以在xml中配置,也可以在filter中采取注解的方法配置过滤路径。
3.多个过滤器的执行顺序,xml中的配置顺序决定了过滤器的执行顺序,就是哪个文件在第一个,谁就是第一个执行。
二.如何编写过滤器
1.创建一个Java类实现filter接口
2.重写dofilter方法
3.配置路径(xml,注解)
三.字符编码过滤器
1.创建一个Java类实现filter接口,重写dofilter方法
2.配置路径(xml,注解)
/*对所有请求都进行过滤