在 Spring Boot 中,你可以使用 @WebFilter
注解来配置 Filter。
首先,在你的项目中创建一个类,并添加 @WebFilter
注解。该类必须实现 javax.servlet.Filter
接口。
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import java.io.IOException;
@WebFilter(urlPatterns = "/*")
public class YourFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
// 初始化操作
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
// 过滤器逻辑处理
chain.doFilter(request, response);
}
@Override
public void destroy() {
// 销毁操作
}
}
在上述代码中,我们使用 @WebFilter(urlPatterns = "/*")
注解将该 Filter 应用于所有的 URL 请求。你也可以根据需要修改 urlPatterns
属性。
接下来,创建一个启动类,并添加 @ServletComponentScan
注解来扫描 @WebFilter
注解。
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;
@SpringBootApplication
@ServletComponentScan
public class YourApplication {
public static void main(String[] args) {
SpringApplication.run(YourApplication.class, args);
}
}
在上述代码中,我们使用 @ServletComponentScan
注解来扫描并注册带有 @WebFilter
注解的 Filter。
现在,当你运行应用程序时,Filter 将会被自动加载和调用。
请确保你的项目中已经添加了 spring-boot-starter-web
依赖,这样才能支持 Servlet 相关的注解和功能。