美文网首页
spring boot 错误处理

spring boot 错误处理

作者: 逗比punk | 来源:发表于2017-07-14 23:08 被阅读41次

方法一:Spring Boot 将所有的错误默认映射到/error, 实现ErrorController

@Controller
@RequestMapping(value = "error")
public class BaseErrorController implements ErrorController {
private static final Logger logger = LoggerFactory.getLogger(BaseErrorController.class);

    @Override
    public String getErrorPath() {
        logger.info("出错啦!进入自定义错误控制器");
        return "error/error";
    }

    @RequestMapping
    public String error() {
        return getErrorPath();
    }

}

方法二:添加自定义的错误页面

2.1 html静态页面:在resources/public/error/ 下定义

如添加404页面: resources/public/error/404.html页面,中文注意页面编码

2.2 模板引擎页面:在templates/error/下定义

如添加5xx页面: templates/error/5xx.ftl
注:templates/error/ 这个的优先级比较 resources/public/error/高

方法三:使用注解@ControllerAdvice

@ControllerAdvice
public class ErrorExceptionHandler {

    private static final Logger logger = LoggerFactory.getLogger(ErrorExceptionHandler.class);

    /**
     * 统一异常处理
     * 
     * @param exception
     *            exception
     * @return
     */
    @ExceptionHandler({ RuntimeException.class })
    @ResponseStatus(HttpStatus.OK)
    public ModelAndView processException(RuntimeException exception) {
        logger.info("自定义异常处理-RuntimeException");
        ModelAndView m = new ModelAndView();
        m.addObject("roncooException", exception.getMessage());
        m.setViewName("error/500");
        return m;
    }

    /**
     * 统一异常处理
     * 
     * @param exception
     *            exception
     * @return
     */
    @ExceptionHandler({ Exception.class })
    @ResponseStatus(HttpStatus.OK)
    public ModelAndView processException(Exception exception) {
        logger.info("自定义异常处理-Exception");
        ModelAndView m = new ModelAndView();
        m.addObject("roncooException", exception.getMessage());
        m.setViewName("error/500");
        return m;
    }

}

相关文章

  • 五、SpringBoot错误处理机制

    1、错误处理机制 1.1、Spring Boot默认的错误处理机制 如果是浏览器,则返回一个默认的错误页面: 如果...

  • Spring Boot 错误(异常)处理

    1.错误(异常)处理 默认错误处理 在servlet容器中,Spring Boot默认提供一个“/error”映射...

  • 五、SpringBoot Web应用-2 (error &

    1、错误处理机制 Spring Boot /error默认提供映射,以合理的方式处理所有错误,并在servlet容...

  • Spring Boot错误处理

    Spring Boot常见的错误处理方法有三种,在实际使用的过程中选择其中一种即可。 方法一:Spring Boo...

  • Spring Boot 错误处理

    还想看更多文章的朋友可以访问我的个人博客 spring boot 的默认处理 spring boot 未进入到Co...

  • spring boot 错误处理

    方法一:Spring Boot 将所有的错误默认映射到/error, 实现ErrorController 方法二:...

  • Spring Boot错误处理

    Spring Boot提供了两种类型的错误处理机制,一种是依赖于内嵌容器的ErrorPage机制;另外一种是基于S...

  • 教程

    Spring Boot 入门 Spring Boot Controller Spring Boot Servlet...

  • SpringBoot 入门

    Spring Boot 入门 1、Spring Boot 简介 Spring Boot 是为了简化 Spring ...

  • Spring Boot Admin实现服务监控

    Spring Boot Admin简介 SBA 全称 Spring Boot Admin Spring Boot ...

网友评论

      本文标题:spring boot 错误处理

      本文链接:https://www.haomeiwen.com/subject/ectahxtx.html