- 什么是Filter?
- Filter表示過濾器,是JavaWeb三大組件(Servlet、FIlter、Listener)之一。
- 過濾器可以把對資源的請求攔截下來,總而實現(xiàn)一些特殊的功能
- 使用過濾器后,要想訪問web服務(wù)器上的資源,必須先經(jīng)過過濾器,過濾器處理完畢后,才可以訪問對應(yīng)的資源。
- 過濾器一般完成一些通用操作,必須:登錄校驗、統(tǒng)一編碼處理,敏感字處理
- Filter過濾器基本使用
- 定義過濾器:定義一個類實現(xiàn)Filter接口,并重寫其所有方法。
-
@WebFilter(urlPatterns = "/*") //配置過濾器要攔截的請求路徑( /* 表示攔截瀏覽器的所有請求 ) public class DemoFilter implements Filter { @Override //初始化方法, 只調(diào)用一次 public void init(FilterConfig filterConfig) throws ServletException { System.out.println("init 初始化方法執(zhí)行了"); } //在放行后訪問完 web 資源之后還會回到過濾器當中,回到過濾器之后如有需求還可以執(zhí)行放行之后的邏輯,放行之后的邏輯我們寫在doFilter()這行代碼之后。 @Override //攔截到請求之后調(diào)用, 調(diào)用多次 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { System.out.println("Demo 攔截到了請求...放行前邏輯"); //放行 chain.doFilter(request,response); } @Override //銷毀方法, 只調(diào)用一次 public void destroy() { System.out.println("destroy 銷毀方法執(zhí)行了"); } }
-
- 配置過濾器:Filter類加上@WebFilter注解,配置攔截資源的路徑。引導類上加@ServletComponentScan開啟Serlet組件支持
-
@ServletComponentScan @SpringBootApplication public class TliasWebManagementApplication { public static void main(String[] args) { SpringApplication.run(TliasWebManagementApplication.class, args); } }
-
- 定義過濾器:定義一個類實現(xiàn)Filter接口,并重寫其所有方法。
-
攔截路徑
-
-
過濾器鏈
-
web應(yīng)用程序當中,可以配置多個過濾器,多個過濾器形成了一個過濾器鏈。
-
?文章來源地址http://www.zghlxwxcb.cn/news/detail-410984.html
-
過濾器的先后執(zhí)行順序是由類名的自動排序確定的,類名排名越高,優(yōu)先級越高。文章來源:http://www.zghlxwxcb.cn/news/detail-410984.html
-
?
到了這里,關(guān)于過濾器Filter的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!