How can Spring Boot filter data?

Spring Boot can use filters or interceptors to filter data.

Using filters:

  1. A Filter in javax.servlet
  2. This is a component.
  3. filter
  4. carry out the filterChain
  5. Please place an order.

Sample code:

@Component
@Order(1)
public class MyFilter implements Filter {
    
    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        // 进行过滤操作
        // ...
        
        // 将请求传递给下一个过滤器或目标资源
        chain.doFilter(request, response);
    }
}

Use interceptors.

  1. Interceptor for handling requests
  2. The component
  3. handle before
  4. truth
  5. incorrect
  6. @Request

Example code:

@Component
@Order(1)
public class MyInterceptor implements HandlerInterceptor {
    
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        // 进行过滤操作
        // ...
        
        // 返回true表示继续执行后续的拦截器或处理器,返回false表示中断后续的执行
        return true;
    }
}

It is important to note that filters are based on the Servlet specification, allowing filtering operations on all requests, while interceptors are provided by the Spring MVC framework and can only filter requests for controllers.

bannerAds