ControllerAdvice 的全局异常处理在OncePerRequestFilter
时间: 2023-11-24 16:53:25 浏览: 39
很抱歉,ControllerAdvice的全局异常处理不在OncePerRequestFilter中。OncePerRequestFilter是一个过滤器,用于确保在一次请求中只执行一次过滤器。而@ControllerAdvice是一个注解,用于定义全局异常处理程序。它可以捕获Controller中抛出的异常,并对它们进行处理。因此,这两个概念是不同的。
如果您想在OncePerRequestFilter中处理异常,可以使用try-catch块捕获异常并进行处理。例如:
```java
public class MyFilter extends OncePerRequestFilter {
@Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
try {
// 过滤器逻辑
filterChain.doFilter(request, response);
} catch (Exception e) {
// 异常处理逻辑
response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "Something went wrong");
}
}
}
```