1. Java servlet技術中有關過濾器的API包括了javax.servlet包中的Filter/FilterChain/FilterConfig三個接口java
2. 全部的servlet過濾器類都必需要實現javax.servlet.Filter接口web
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方法。spring
4. FilterChain用於拋向下一個過濾器的參數。造成一個過濾器鏈(多個過濾器鏈接在一塊兒)。請求必須經過這麼多的過濾器鏈以後才能獲得後臺處理響應!app
5.web.xml中關於filter的配置:url
先定義一個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. code