/images/avatar.png

Schaepher's Blog

Spring Boot

过滤器

配置过滤器 Filter 来对特定类的方法做是否登录的判断

添加 Filter 的方法:

  1. 创建过滤器
    public class EncodingFilter implements Filter {
     private static final String CONTENT_TYPE = "text/html;charset=UTF-8";
    
     public EncodingFilter() {
     }
    
     public void destroy() {
     }
    
     public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
         request.setCharacterEncoding("UTF-8");
         response.setCharacterEncoding("UTF-8");
         response.setContentType("text/html;charset=UTF-8");
         chain.doFilter(request, response);
     }
    
     public void init(FilterConfig filterConfig) throws ServletException {
     }
    }
  2. 配置类注解 @Configuration
  3. 配置类方法注解 @Bean
  4. 配置类方法内容:
     FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
     filterRegistrationBean.setOrder(3); // 设置过滤顺序,越小越先执行
     filterRegistrationBean.setFilter(new YourFilter()); // 设置过滤器
     filterRegistrationBean.setName("customFilter"); // 设置过滤器名称
     filterRegistrationBean.addUrlPatterns("*.action"); // 设置使用该过滤器的 Url 特征
     return filterRegistrationBean;

见:
https://www.jianshu.com/p/05c8be17c80a