- 方式一:
- MyFilter:
@WebFilter(urlPatterns = "/*")
public class MyFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
System.out.println("你已进入过滤器");
}
@Override
public void destroy() {
}
}
注意:这里继承的是javax.servlet这个包的过滤器
此外还需要在main()函数中通过@ServletComponentScan注解来扫描对应的包
/**开启Dubbo配置文件
* */
@EnableDubboConfiguration
@SpringBootApplication
/**组件扫描器来扫描对应的包
* */
@ServletComponentScan(basePackages = "com.example.tom.filter")
public class TomApplication {
public static void main(String[] args) {
SpringApplication.run(TomApplication.class, args);
}
}
-
方式二:
-
MyFilter:
public class MyFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
System.out.println("你已进入过滤器");
}
@Override
public void destroy() {
}
}
注意:这里和方式一不同的是该类没有使用@WebFilter注解
- WebMVCConfig:
/**配置类
* 需要添加@Configuration注解
* 相当于一个Spring的xml配置文件(即application.xml)
* */
@Configuration
public class WebMVCConfig implements WebMvcConfigurer {
/**配置一个Filter
* */
@Bean
public FilterRegistrationBean heFilterRegistration(){
FilterRegistrationBean registration=new FilterRegistrationBean(new MyFilter());
registration.addUrlPatterns("/*");
return registration;
}
}