更新時間:2020-05-26 13:46:45 來源:動力節點 瀏覽2404次
今天要學習的是關于Filter的內容,主要包括Filter的概念、快速入門、代碼演示、過濾器細節,對Filter有學習需要的小伙伴可以在看完本文后,現在一起來看看Filter的學習筆記吧~
1.概念
Filter就是過濾器,在我們生活中有各種各樣的過濾器,比如凈水器,空氣凈化器等等。但是Filter指的是web中的過濾器,當訪問服務器的資源時,過濾器可以將請求攔截下來,完成一些特殊的功能。Filter一般用于完成通用的操作。如:登錄驗證、統一編碼處理、敏感字符過濾等等。
2.快速入門
步驟:
A.定義一個類,實現接口Filter
B.復寫方法
C.配置攔截路徑:web.xml;注解
3.代碼演示
@WebFilter("/*")//訪問所有資源之前,都會執行該過濾器
public?class?FilterDemo1?implements?Filter?{
?????????@Override
???????????public?void?init(FilterConfig?filterConfig)?throws?ServletException?{
???????????????????????????}
???????????????????????????
????@Override
????public?void?doFilter(ServletRequest?servletRequest,?ServletResponse?servletResponse,?FilterChain?filterChain)?throws?IOException,?ServletException?{
????System.out.println("filterDemo1被執行了....");
???????????????????????????//放行
?????filterChain.doFilter(servletRequest,servletResponse);
???????????????????????????}
????????????????????????????????@Override
????????????????????????????????public?void?destroy()?{
????????????????????????????????}
????????????????????????????}
4.過濾器細節
1)web.xml配置
<filter>
<filter-name>demo1</filter-name>
??????<filter-class>cn.itcast.web.filter.FilterDemo1</filter-class>
???????</filter>
????????<filter-mapping>
??????<filter-name>demo1</filter-name>
?????????????<!--?攔截路徑?-->
??????<url-pattern>/*</url-pattern>
??????????</filter-mapping>
2)過濾器執行流程
A.執行過濾器
B.執行放行后的資源
C.回來執行過濾器放行代碼下邊的代碼
3)過濾器生命周期方法
A.init:在服務器啟動后,會創建Filter對象,然后調用init方法。只執行一次。用于加載資源
B.doFilter:每一次請求被攔截資源時,會執行。執行多次
C.destroy:在服務器關閉后,Filter對象被銷毀。如果服務器是正常關閉,則會執行destroy方法。只執行一次。用于釋放資源
5.過濾器配置詳解
攔截路徑配置:
A.具體資源路徑: /index.jsp 只有訪問index.jsp資源時,過濾器才會被執行。
B.攔截目錄: /user/* 訪問/user下的所有資源時,過濾器都會被執行。
C.后綴名攔截: *.jsp 訪問所有后綴名為jsp資源時,過濾器都會被執行。
D.攔截所有資源:/* 訪問所有資源時,過濾器都會被執行。
以上就是動力節點java培訓機構的小編針對“Java培訓教程之Filter學習”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習