1. Java servlet技术中有关过滤器的API包括了javax.servlet包中的Filter/FilterChain/FilterConfig三个接口
2. 所有的servlet过滤器类都必须要实现javax.servlet.Filter接口
public interface Filter {
default void init(FilterConfig filterConfig) throws ServletException {
}
void doFilter(ServletRequest var1, ServletResponse var2, FilterChain var3) throws IOException, ServletException;
default void destroy() {
}
}
3. 在web.xml中配置好Filter之后(也就是告知Tomcat容器)。当有客户请求过滤器关联的URL时,servlet容器将先调用过滤器的doFilter方法。
4. FilterChain用于抛向下一个过滤器的参数。形成一个过滤器链(多个过滤器连接在一起)。请求必须通过这么多的过滤器链之后才能得到后台处理响应!
5.web.xml中关于filter的配置:
先定义一个filter(名字)和实现类:自己实现的Filter类!!!定义filter必须放在关联URL配置前面!
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
//关联指定的URL请求!这里/*表示拦截所有的请求!!!
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
6.