更新時間:2022-02-07 11:24:36 來源:動力節點 瀏覽740次
過濾器(Filter): 能夠完成篩選不需要數據的工具(東西).
類似于生活中的凈水器,香煙過濾嘴,濾紙, 收費站等.------->單向的.
Web中: 過濾器其實就是服務端的一個程序(程序的最小單元就是類). 在Web開發中,過濾器其實就是一個Web組件(Servlet/Filter/Listener),其實就是一個特殊的類. 一個類實現javax.servlet.Servlet接口:--->Servlet類. 一個類實現javax.servlet.Filter接口:----->Filter類.
過濾器的作用: 過濾器可以對所有的請求或者響應做攔截操作.
1:以常規的方式調用資源(Servlet/JSP);
2:利用修改過的請求信息調用資源;
3:調用資源之后,但在響應到客戶端之前,對響應做出修改;
4:阻止當前資源調用,代之轉到其他資源.
開發Filter
(1):自定義一個類(XxxFilter,Xxx表示功能名),實現于javax.servlet.Filter接口.
(2):在web.xml中做配置,告訴Tomcat來幫我管理這一個類(負責了該類的生命周期).
使用:@WebFilter("/hello.jsp")
或者在web.xml里面設置攔截器
<filter>
<filter-name>XxxFilter</filter-name>
<filter-class>XxxFilter類的全限定名</filter-class>
</filter>
<filter-mapping>
<filter-name>XxxFilter</filter-name>
<!--表示:當前Filter只對哪些資源做過濾/攔截操作,只對hello.jsp做攔截-->
<url-pattern>/hello.jsp</url-pattern>
</filter-mapping>
Filter的生命周期方法
(1):void init(FilterConfig config): 初始化方法
(2):void doFilter(ServletRequest request, ServletResponse response, FilterChain chain):執行過濾的方法(每一次請求都會執行過濾)
(3):void destroy():銷毀方法 執行的流程: 在啟動Tomcat服務器的時候,就會執行構造器和init方法. 構造器--->init方法 -----> ( doFilter方法 )N次------->destroy方法
chain:鏈,鏈條,多個鏈的節點組合而成.
FilterChain:過濾器鏈,多個過濾器按照一定的順序排列在一起.
FilterChain.doFilter(req,resp):放行(放行給下一個Filter或資源)
以上就是關于“Filter過濾器的使用”介紹,大家如果想了解更多相關知識,可以關注一下動力節點的Filter過濾器,里面的課程內容由淺到深,通俗易懂,適合小白學習,希望對大家能夠有所幫助。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習