springMVC中过滤器抛出异常,自定义异常捕获

在过滤器中引入org.springframework.web.servlet.HandlerExceptionResolver

java 复制代码
    @Autowired
    @Qualifier("handlerExceptionResolver")
    private HandlerExceptionResolver resolver;
// doFilter中处理
            if (条件1) {
                if (条件2) {
                    resolver.resolveException(request, response, null, new Myself403ForbiddenException("403ForbiddenException"));
                    return;
                }
                filterChain.doFilter(servletRequest, servletResponse);
                return;
            }

Spring Boot全局异常处理@RestControllerAdvice只会捕获所有Controller层抛出的异常,在filter当中抛出的异常GlobalExceptionHandler类是感知不到的,所以在filter当中抛出的异常最终会被Spring框架自带的全局异常处理类BasicErrorController捕获

附:https://blog.csdn.net/m0_37731470/article/details/116754395

相关推荐
cfm_29141 分钟前
ConcurrentHashMap 线程安全机制与 JDK 1.8 演进
java·开发语言·安全
tqs_123457 分钟前
值传递与引用传递
java·开发语言·python
2601_962181969 分钟前
Spring boot从0到1 - day01
java·spring boot·后端
典典分享指南23 分钟前
短视频分镜提示词:让 AI 出片的产品口播
java·c#·bash·composer·symfony
IT_Octopus25 分钟前
G1 与 GC 日志入门课程(以本次离线菜单 Full GC 事故为教材)
java·jvm
cfm_291432 分钟前
ReentrantLock 中 lock 与 tryLock 核心区别
java
.Hypocritical.37 分钟前
Tomcat本地部署+远程服务器部署超详细教程
java·服务器·tomcat
2601_9620629444 分钟前
Spring Boot入门——Spring Boot项目的创建
java·数据库·spring boot
一嘴一个橘子2 小时前
springmvc 全局异常处理【补充】
java
Wang's Blog2 小时前
Vibe Coding一人即团队系列35: 基于Claude Code的Spring Boot项目初始化实践
java·spring boot·后端