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