几个小时以来,我试图在Spring Boot / MVC中创建一个 自定义 全局错误处理程序。我读了很多文章,什么也没有。
那是我的错误类:
我尝试创建这样的课程
@Controller public class ErrorPagesController { @RequestMapping("/404") @ResponseStatus(HttpStatus.NOT_FOUND) public String notFound() { return "/error/404"; } @RequestMapping("/403") @ResponseStatus(HttpStatus.FORBIDDEN) public String forbidden() { return "/error/403"; } @RequestMapping("/500") @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR) public String internalServerError() { return "/error/500"; } }
您可以尝试以下代码:
@ControllerAdvice public class ExceptionController { @ExceptionHandler(Exception.class) public ModelAndView handleError(HttpServletRequest request, Exception e) { Logger.getLogger(getClass().getName()).log(Level.SEVERE, "Request: " + request.getRequestURL() + " raised " + e); return new ModelAndView("error"); } @ExceptionHandler(NoHandlerFoundException.class) public ModelAndView handleError404(HttpServletRequest request, Exception e) { Logger.getLogger(getClass().getName()).log(Level.SEVERE, "Request: " + request.getRequestURL() + " raised " + e); return new ModelAndView("404"); } }