Java中使用過濾器進行攔截的步驟如下:
import javax.servlet.*;
import java.io.IOException;
public class MyFilter implements Filter {
public void init(FilterConfig filterConfig) throws ServletException {
// 初始化方法,可以在這里獲取過濾器的配置信息
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
// 在執行目標資源之前的操作,例如權限驗證、日志記錄等
// 如果要繼續執行后續過濾器或目標資源,需要調用chain.doFilter(request, response)
chain.doFilter(request, response);
// 在執行目標資源之后的操作,例如結果處理、編碼轉換等
}
public void destroy() {
// 銷毀方法,可以在這里釋放資源
}
}
<filter>
<filter-name>MyFilter</filter-name>
<filter-class>com.example.MyFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>MyFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
/*
:攔截所有請求
/login/*
:攔截以/login/開頭的路徑
/user/*.do
:攔截/user/下以.do結尾的路徑
通過以上步驟配置完畢后,當請求匹配到配置的過濾路徑時,過濾器會自動被調用,并執行其中的邏輯。