@WebFilter
public class YourFilter extends GenericFilterBean {
// 使用此类
@Autowired
private HandlerExceptionResolver handlerExceptionResolver;
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) servletRequest;
HttpServletResponse response = (HttpServletResponse) servletResponse;
try {
filterChain.doFilter(request, response);
} catch (Exception e) {
// 交给全局异常处理后
handlerExceptionResolver.resolveException(request, response, null, e);
}
}
}
如果需要指定匹配路径,例如:
//@Component 切记不需要加上这个 不然路径匹配会不生效,就是会全部匹配。
@WebFilter(urlPatterns = {"/oauth/Login"})
并且需要在启动类加上
@ServletComponentScan
@SpringBootApplication
public class AdminApplicationManager extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(AdminApplicationManager.class, args);
}
}