1.過濾器的概念html
Java中的Filter 並非一個標準的Servlet ,它不能處理用戶請求,也不能對客戶端生成響應。 主要用於對HttpServletRequest 進行預處理,也能夠對HttpServletResponse 進行後處理,是個典型的處理鏈。java
優勢:過濾鏈的好處是,執行過程當中任什麼時候候均可以打斷,只要不執行chain.doFilter()就不會再執行後面的過濾器和請求的內容。而在實際使用時,就要特別注意過濾鏈的執行順序問題編碼
2.過濾器的做用描述spa
3.過濾器的執行流程3d
package test01; import java.io.IOException; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; public class Filter implements javax.servlet.Filter { public Filter() { } public void destroy() { } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { System.out.println("通過了過濾器1"); //設置編碼 request.setCharacterEncoding("UTF-8"); response.setContentType("tesx/html"); response.setCharacterEncoding("UTF-8"); //過濾器鏈的容器 //把當前請求傳給下一個過濾器 chain.doFilter(request, response); } public void init(FilterConfig fConfig) throws ServletException { } }