更新時間:2021-07-27 16:57:24 來源:動力節點 瀏覽852次
多個filter攔截的同一個請求,按web.xml配置順序進行過濾
返回的響應的從最后配置的filter開始過濾
具體配置步驟:
編寫Filter實現類
package cn.kihyou.b2c.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
//實現接口:javax.servlet.Filter;
public class AdminFilter implements Filter {
// 三個重要方法:初始化:init();攔截到要執行的方法:doFilter();銷毀:destroy();
@Override
public void init(FilterConfig filterConfig) throws ServletException {
// TODO Auto-generated method stub
// Filter.super.init(filterConfig);
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
// TODO Auto-generated method stub
// 1.攔截客戶端/上一個filter發來的請求,是否放行到Servlet/下一個Filter
System.out.println("AdminFilter攔截到請求");
// 放行(放不放行您可以自己看著辦)
chain.doFilter(request, response);
// 2.攔截servlet/filter發回的響應,是否放行到客戶端/上一個filter
System.out.println("AdminFilter攔截到響應");
}
@Override
public void destroy() {
// TODO Auto-generated method stub
// Filter.super.destroy();
}
}
<!-- Filter,過濾器 -->
<filter>
<!-- filter名,隨便起 -->
<filter-name>AdminFilter</filter-name>
<!-- 實現類所在目錄 -->
<filter-class>cn.kihyou.b2c.filter.AdminFilter</filter-class>
<!-- 初始化參數 -->
<!-- 設置字符集,charset:UTF-8 -->
<init-param>
<!-- 參數名 -->
<param-name>charset</param-name>
<!-- 參數值 -->
<param-value>UTF-8</param-value>
</init-param>
<!-- 設置內容類型及其字符集,contentType:text/html;charset=UTF-8 -->
<init-param>
<param-name>contentType</param-name>
<param-value>text/html;charset=UTF-8</param-value>
</init-param>
</filter>
<!-- filter的映射 -->
<filter-mapping>
<!-- 對應的filter名 -->
<filter-name>AdminFilter</filter-name>
<!-- 要進行攔截過濾的目錄 -->
<url-pattern>/web/admin/*</url-pattern>
</filter-mapping>
<session-config>
<!-- 超時時間,單位:分鐘 -->
<session-timeout>30</session-timeout>
</session-config>
以上就是動力節點小編介紹的"過濾器Filter的配置",希望對大家有幫助,想了解更多可查看Filter過濾器。動力節點在線學習教程,針對沒有任何Java基礎的讀者學習,讓你從入門到精通,主要介紹了一些Java基礎的核心知識,讓同學們更好更方便的學習和了解Java編程,感興趣的同學可以關注一下。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習