Spring Mvc全局异常处理器@ControllerAdvice不起作用?

so上面一个类似的问题

自定义了一个全局的异常处理器:

@ControllerAdvice
public class ErrorController {
    @ExceptionHandler
    public ModelAndView exceptionHandler(Exception ex){
        ModelAndView mv = new ModelAndView("exception/error");
        mv.addObject("exception", ex);
        System.out.println("in testControllerAdvice");
        return mv;
    }
}

但是并没有起作用:

图片描述

在相关的xml文件中已经进行了相应的设置:

    <context:component-scan base-package="org.neo.springmvclearn">
        <context:include-filter type="annotation"
            expression="org.springframework.web.bind.annotation.ControllerAdvice" />
    </context:component-scan>
    <mvc:annotation-driven/>

请问出错的原因可能有哪些?

阅读 13.9k
2 个回答
新手上路,请多包涵

楼主的这个异常处理类要和controller在同一级目录

我也遇到这个问题,然后看到你的代码我突然明白怎么回事了,应该加@ResponseBody或者把@ControllerAdvice改为@RestControllerAdvice这样才对,原因就不用我说了吧

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题