Filter過濾器
filter過濾器用於web專案在請求轉發與響應資料時對資料或邏輯進行新增一系列更改
一:三個方法
1、init():初始化,在過濾器開始時執行init方法體內業務邏輯
2、doFilter():伺服器與客戶端之間請求響應時進行字符集、訪問地址、引數等一系列判斷
3、destroy():此方法在doFilter方法後執行。該方法不會在關閉瀏覽器或客戶端時銷燬。等待整個專案關閉時才會銷燬。
二:doFilter的使用(編碼字符集和位址列的判斷)
//向下還原
HttpServletRequest req = (HttpServletRequest)request;
HttpServletResponse resp = (HttpServletResponse)response;
//設定編碼字符集
req.setCharacterEncoding("UTF-8");
resp.setCharacterEncoding("UTF-8");
resp.setContentType("text/html");
//建立session物件用於session是否存在的判斷
HttpSession session = req.getSession();
//獲取當前瀏覽器中訪問的地址
String requestURI = req.getRequestURI();
System.out.println("總地址"+requestURI);
//獲取當前應用和當前訪問全路徑
String contextPath = req.getContextPath();
System.out.println("訪問地址"+contextPath);
//獲取當前訪問的頁面或者servlet名字
String subPath = requestURI.substring(contextPath.length());
System.out.println("擷取之後的地址"+subPath);
//判斷是否是登入介面或者是登入的servlet
if(subPath.contains("Login.jsp") || subPath.contains("loginServlet")){
//chain方法
chain.doFilter(req, resp);
}else{
//判斷session是否為null,不等於空則代表當前有使用者登入
if(session.getAttribute("ename")!=null){
chain.doFilter(req, resp);
}else{
//如果判斷之後沒有登入跳轉到登入介面
resp.sendRedirect("Login.jsp");
}
}
三:過濾器原理圖
相關文章
- PHP 過濾器(Filter)PHP過濾器Filter
- JavaWeb 中 Filter過濾器JavaWebFilter過濾器
- Filter過濾器的使用Filter過濾器
- filter過濾Filter
- 布隆過濾器(Bloom Filter)過濾器OOMFilter
- 布隆過濾器 Bloom Filter過濾器OOMFilter
- Bloom Filter 布隆過濾器OOMFilter過濾器
- 攔截器(Interceptor)與過濾器(Filter)過濾器Filter
- 布隆過濾器(Bloom Filter)詳解過濾器OOMFilter
- HBase Filter 過濾器之 ValueFilter 詳解Filter過濾器
- 如何在vue中使用過濾器filterVue過濾器Filter
- Vue定義全域性過濾器filterVue過濾器Filter
- Filter(過濾器)與Listener(監聽器)詳解Filter過濾器
- 過濾器 Filter 與 攔截器 Interceptor 的區別過濾器Filter
- JavaWeb - 【Filter】敏感詞過濾JavaWebFilter
- Elasticsearch——filter過濾查詢ElasticsearchFilter
- SpringBoot+Shiro學習(七):Filter過濾器管理Spring BootFilter過濾器
- Laravel 模型過濾(Filter)設計Laravel模型Filter
- 微信小程式 使用filter過濾器幾種方式微信小程式Filter過濾器
- Solon 的過濾器 Filter 和兩種攔截器 Handler、 Interceptor過濾器Filter
- java中listFiles(Filefilter filter)檔案過濾器的實現過程JavaFilter過濾器
- 從零手寫實現 tomcat-11-filter 過濾器TomcatFilter過濾器
- 雜湊表擴充套件—布隆過濾器(Bloom Filter)套件過濾器OOMFilter
- 使用Filter介面編寫過濾器解決post亂碼Filter過濾器
- Django(69)最好用的過濾器外掛Django-filterDjango過濾器Filter
- 【GreatSQL最佳化器-05】條件過濾condition_fanout_filterSQLFilter
- Filter-Policy過濾策略&Route-policyFilter
- filter在JavaScript中過濾陣列元素FilterJavaScript陣列
- 042.CI4框架CodeIgniter,控制器過濾器Filter配合Services的使用框架過濾器Filter
- Fabric 1.0原始碼分析(11)consenter(共識外掛) #filter(過濾器)原始碼Filter過濾器
- java8 多條件的filter過濾JavaFilter
- 過濾器過濾器
- CSS濾鏡(filter)CSSFilter
- SVG <filter> 濾鏡SVGFilter
- 快取問題(二) 布隆過濾器(Bloom Filter) 介紹和原理快取過濾器OOMFilter
- vue入門 vue基礎之簡單使用4--過濾器(Filter)Vue過濾器Filter
- Stream中filter過濾條件問題記錄Filter
- js--陣列的filter()過濾方法的使用JS陣列Filter