Start here. This is the direct spoken answer to practice first.
Overview
The mechanisms observe different portions of request processing and cannot be substituted safely by name alone.
A Servlet filter wraps the request and response before and after the DispatcherServlet, so it can cover static content and non-MVC paths depending on its mapping. A HandlerInterceptor runs inside Spring MVC around the selected handler and can inspect handler metadata. @ControllerAdvice centralizes controller exception handling, binding customization, or request and response body advice. I choose the earliest and narrowest layer that truly covers the requirement.