SpringBoot使用Filter简单示例

1:注解方式实现filter(简单)

@WebFilter(filterName = "MyFilter",urlPatterns = "/*")
public class MyFilter implements Filter {
    public void destroy() {
    }

    public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {
        System.out.println("filter->MyFilter1");
        chain.doFilter(req, resp);
    }

    public void init(FilterConfig config) throws ServletException {

    }

}
@SpringBootApplication
@ServletComponentScan(basePackages = {"com.qingnian.springboot.servlet","com.qingnian.springboot.filter"})
public class SpringbootApplication {

	public static void main(String[] args) {
		SpringApplication.run(SpringbootApplication.class, args);
	}

}

2配置文件实现

public class HeFilter implements Filter {
    public void destroy() {
    }

    public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {
        System.out.println("filter->HeFilter");
        chain.doFilter(req, resp);
    }

    public void init(FilterConfig config) throws ServletException {

    }

}
@Configuration  //等价于Spring的xml文件
public class WebConfig implements WebMvcConfigurer {
    @Bean   //表示返回一个对象
    public FilterRegistrationBean getFilterBean(){
        //第一个参数为对应servlet第二个参数为对应的访问路径
        FilterRegistrationBean bean = new FilterRegistrationBean(new HeFilter());
        bean.addUrlPatterns("/*");
        return bean;
    }
}
发布了27 篇原创文章 · 获赞 1 · 访问量 850

猜你喜欢

转载自blog.csdn.net/weixin_44971379/article/details/104885146