-
對(duì)用戶請(qǐng)求進(jìn)行驗(yàn)證
編碼轉(zhuǎn)換
查看全部 -
servlet2.5的分類
查看全部 -
@WebFilter的常用屬性
查看全部 -
servlet3支持@WebFilter的注解形式
查看全部 -
多過(guò)濾器的處理流程
查看全部 -
過(guò)濾器不能處理用戶請(qǐng)求,但是可以改變請(qǐng)求路徑
查看全部 -
2.在web.xml中配置自動(dòng)的filter
查看全部 -
自定義過(guò)濾器:實(shí)現(xiàn)javax.servlet.Filter接口,實(shí)現(xiàn)三個(gè)方法
查看全部 -
過(guò)濾器生命周期:
實(shí)例化在容器啟動(dòng)時(shí)(一次)
初始化在實(shí)例化后(一次)
過(guò)濾在每一次請(qǐng)求
銷毀在容器關(guān)閉后(一次)
查看全部 -
過(guò)濾器的工作原理
查看全部 -
過(guò)濾器的概念:
應(yīng)用案例:同一個(gè)地址,登錄前和登錄后顯示不同頁(yè)面;
不存在的地址,統(tǒng)一處理到同一錯(cuò)誤頁(yè)面。
查看全部 -
過(guò)濾器在實(shí)際項(xiàng)目中的應(yīng)用場(chǎng)景
1、對(duì)用戶請(qǐng)求進(jìn)行統(tǒng)一認(rèn)證(判斷當(dāng)前用戶是否符合認(rèn)證條件,不符合時(shí)進(jìn)行一些處理)——>登陸校驗(yàn)
2、編碼轉(zhuǎn)換(轉(zhuǎn)換一些字符集編碼,防止開發(fā)中亂碼問題)
3、對(duì)用戶發(fā)送的數(shù)據(jù)進(jìn)行過(guò)濾替換(防止注入一些攻擊,對(duì)參數(shù)進(jìn)行檢測(cè)和判別)
4、轉(zhuǎn)換圖像格式(對(duì)response進(jìn)行后處理,并轉(zhuǎn)換它的格式輸出)
5、對(duì)響應(yīng)的內(nèi)容進(jìn)行壓縮(可以對(duì)內(nèi)容進(jìn)行加密操作,數(shù)據(jù)拿過(guò)來(lái)時(shí)進(jìn)行加密,加密之后解析再返回給用戶)
查看全部 -
編碼轉(zhuǎn)換案例
后端接受前端輸入的參數(shù)亂碼解決方式
【一】修改Tomcat字符集
【二】過(guò)濾器修改字符集(通常放在web.xml中的參數(shù)中)
【三】通過(guò)強(qiáng)制類型轉(zhuǎn)換
拓展:pageEncoding和contentType的區(qū)別:https://www.cnblogs.com/kevin-yuan/archive/2011/12/31/2308479.html。
查看全部 -
過(guò)濾器的分類2
ERROR:目標(biāo)資源是通過(guò)聲明式異常處理機(jī)制調(diào)用時(shí),過(guò)濾器將被調(diào)用。(例如:我們?cè)L問一個(gè)路徑,出現(xiàn)一個(gè)錯(cuò)誤,系統(tǒng)會(huì)給出一個(gè)錯(cuò)誤提示,我們可以通過(guò)它來(lái)實(shí)現(xiàn)人性化提示)
路徑找不到時(shí),通過(guò)xml進(jìn)行友好型提示。
<error-page>
<error-code>404</error-code>
<location>/error.jsp</location>
</error-page>
ERROR的用途:發(fā)生錯(cuò)誤時(shí),系統(tǒng)記錄這個(gè)錯(cuò)誤,并且通過(guò)<error-page>標(biāo)簽進(jìn)行跳轉(zhuǎn)到錯(cuò)誤頁(yè)面,通過(guò)ERROR過(guò)濾器程序員可以檢測(cè)這個(gè)錯(cuò)誤的來(lái)源以及位置。
Servlet3.0——>添加了ASYNC:支持異步處理。(例如:有時(shí)我們的跳轉(zhuǎn)資源不是JSP頁(yè)面,而是一個(gè)Servlet處理業(yè)務(wù)邏輯,并且處理時(shí)間非常長(zhǎng),這時(shí)過(guò)濾器接下來(lái)的代碼就會(huì)一直等待Servlet完成,這樣就會(huì)一直等待,所以Servlet3.0支持無(wú)論執(zhí)行完與否,都會(huì)向下執(zhí)行。)
另一種實(shí)現(xiàn)過(guò)濾器功能的方式
@WebFilter:用于將一個(gè)類聲明為過(guò)濾器,該注解將會(huì)在部署時(shí)被容器處理,容器將根據(jù)具體的屬性配置將相應(yīng)的類部署為過(guò)濾器。
查看全部 -
過(guò)濾器的分類(Servlet2.5)
【1】REQUEST:默認(rèn)的過(guò)濾器(我們配置過(guò)濾器默認(rèn)選擇的),用戶直接訪問頁(yè)面時(shí),Web容器將會(huì)調(diào)用過(guò)濾器,通過(guò)鏈接訪問直接到達(dá)過(guò)濾器。
重定向:會(huì)使用REQUEST過(guò)濾器,response.sendRedirect(request.getContextPath() + "/main.jsp");
轉(zhuǎn)發(fā):會(huì)使用RESPONSE過(guò)濾器,request.getRequestDispatcher("main.jsp").forward(request, response);
【2】FORWARD:目標(biāo)資源是通過(guò)RequestDispatcher的forward訪問時(shí),該過(guò)濾器被調(diào)用。<dispatcher>FORWARD</dispatcher>
【3】INCLUDE:目標(biāo)資源時(shí)通過(guò)RequestDispatcher的include方法調(diào)用時(shí),過(guò)濾器將被調(diào)用。<dispatcher>INCLUDE</dispatcher>
request.getRequestDispatcher("main.jsp").include(request, response);使用這個(gè)跳轉(zhuǎn)其他過(guò)濾器將不起作用,只有INCLUDE的過(guò)濾器會(huì)起作用。
【4】ERROR
查看全部
舉報(bào)