更新時間:2020-05-26 13:46:45 來源:動力節(jié)點 瀏覽2388次
今天要學(xué)習(xí)的是關(guān)于Filter的內(nèi)容,主要包括Filter的概念、快速入門、代碼演示、過濾器細節(jié),對Filter有學(xué)習(xí)需要的小伙伴可以在看完本文后,現(xiàn)在一起來看看Filter的學(xué)習(xí)筆記吧~
1.概念
Filter就是過濾器,在我們生活中有各種各樣的過濾器,比如凈水器,空氣凈化器等等。但是Filter指的是web中的過濾器,當(dāng)訪問服務(wù)器的資源時,過濾器可以將請求攔截下來,完成一些特殊的功能。Filter一般用于完成通用的操作。如:登錄驗證、統(tǒng)一編碼處理、敏感字符過濾等等。
2.快速入門
步驟:
A.定義一個類,實現(xiàn)接口Filter
B.復(fù)寫方法
C.配置攔截路徑:web.xml;注解
3.代碼演示
@WebFilter("/*")//訪問所有資源之前,都會執(zhí)行該過濾器
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被執(zhí)行了....");
???????????????????????????//放行
?????filterChain.doFilter(servletRequest,servletResponse);
???????????????????????????}
????????????????????????????????@Override
????????????????????????????????public?void?destroy()?{
????????????????????????????????}
????????????????????????????}
4.過濾器細節(jié)
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)過濾器執(zhí)行流程
A.執(zhí)行過濾器
B.執(zhí)行放行后的資源
C.回來執(zhí)行過濾器放行代碼下邊的代碼
3)過濾器生命周期方法
A.init:在服務(wù)器啟動后,會創(chuàng)建Filter對象,然后調(diào)用init方法。只執(zhí)行一次。用于加載資源
B.doFilter:每一次請求被攔截資源時,會執(zhí)行。執(zhí)行多次
C.destroy:在服務(wù)器關(guān)閉后,F(xiàn)ilter對象被銷毀。如果服務(wù)器是正常關(guān)閉,則會執(zhí)行destroy方法。只執(zhí)行一次。用于釋放資源
5.過濾器配置詳解
攔截路徑配置:
A.具體資源路徑: /index.jsp 只有訪問index.jsp資源時,過濾器才會被執(zhí)行。
B.攔截目錄: /user/* 訪問/user下的所有資源時,過濾器都會被執(zhí)行。
C.后綴名攔截: *.jsp 訪問所有后綴名為jsp資源時,過濾器都會被執(zhí)行。
D.攔截所有資源:/* 訪問所有資源時,過濾器都會被執(zhí)行。
以上就是動力節(jié)點java培訓(xùn)機構(gòu)的小編針對“Java培訓(xùn)教程之Filter學(xué)習(xí)”的內(nèi)容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。
相關(guān)閱讀
初級 202925
初級 203221
初級 202629
初級 203743