過濾器filter的配置


推薦:Servlet之Filter詳細講解

多個filter攔截的同一個請求,按web.xml配置順序進行過濾

返回的響應的從最后配置的filter開始過濾

具體配置步驟:

編寫Filter實現類

 1 package cn.kihyou.b2c.filter;
 2 
 3 import java.io.IOException;
 4 
 5 import javax.servlet.Filter;
 6 import javax.servlet.FilterChain;
 7 import javax.servlet.FilterConfig;
 8 import javax.servlet.ServletException;
 9 import javax.servlet.ServletRequest;
10 import javax.servlet.ServletResponse;
11 
12 //實現接口:javax.servlet.Filter;
13 public class AdminFilter implements Filter {
14 
15     // 三個重要方法:初始化:init();攔截到要執行的方法:doFilter();銷毀:destroy();
16 
17     @Override
18     public void init(FilterConfig filterConfig) throws ServletException {
19         // TODO Auto-generated method stub
20         // Filter.super.init(filterConfig);
21     }
22 
23     @Override
24     public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
25             throws IOException, ServletException {
26         // TODO Auto-generated method stub
27         // 1.攔截客戶端/上一個filter發來的請求,是否放行到Servlet/下一個Filter
28         System.out.println("AdminFilter攔截到請求");
29         // 放行(放不放行您可以自己看着辦)
30         chain.doFilter(request, response);
31         // 2.攔截servlet/filter發回的響應,是否放行到客戶端/上一個filter
32         System.out.println("AdminFilter攔截到響應");
33 
34     }
35 
36     @Override
37     public void destroy() {
38         // TODO Auto-generated method stub
39         // Filter.super.destroy();
40     }
41 
42 }

 

配置web.xml

 1 <!-- Filter,過濾器 -->
 2     <filter>
 3         <!-- filter名,隨便起 -->
 4         <filter-name>AdminFilter</filter-name>
 5         <!-- 實現類所在目錄 -->
 6         <filter-class>cn.kihyou.b2c.filter.AdminFilter</filter-class>
 7         <!-- 初始化參數 -->
 8         <!-- 設置字符集,charset:UTF-8 -->
 9         <init-param>
10             <!-- 參數名 -->
11             <param-name>charset</param-name>
12             <!-- 參數值 -->
13             <param-value>UTF-8</param-value>
14         </init-param>
15 
16         <!-- 設置內容類型及其字符集,contentType:text/html;charset=UTF-8 -->
17         <init-param>
18             <param-name>contentType</param-name>
19             <param-value>text/html;charset=UTF-8</param-value>
20         </init-param>
21     </filter>
22 
23     <!-- filter的映射 -->
24     <filter-mapping>
25         <!-- 對應的filter名 -->
26         <filter-name>AdminFilter</filter-name>
27         <!-- 要進行攔截過濾的目錄 -->
28         <url-pattern>/web/admin/*</url-pattern>
29     </filter-mapping>
30 
31     <session-config>
32         <!-- 超時時間,單位:分鍾 -->
33         <session-timeout>30</session-timeout>
34     </session-config>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM