设为首页 加入收藏

TOP

二、spring boot 1.5.4 异常控制(二)
2017-10-13 10:03:07 】 浏览:10117
Tags:spring boot 1.5.4 异常 控制
y *
@return */ @Bean public EmbeddedServletContainerFactory servletContainer() { TomcatEmbeddedServletContainerFactory factory = new TomcatEmbeddedServletContainerFactory(); factory.setPort(9001); factory.setSessionTimeout(10, TimeUnit.MINUTES); //优先级高于配置在/static/error文件夹里面的404.html页面 factory.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND, "/error/403.html")); return factory; } }

 

 

2.2 动态页面映射配置

@Component
public class MyErrorViewResolver  implements ErrorViewResolver {

    @Override
    public ModelAndView resolveErrorView(HttpServletRequest request, HttpStatus status, Map<String, Object> model) {
          return new ModelAndView("/error/error",model);
    }

}

 

这个自定义ViewResolver将替代默认的页面处理器DefaultErrorViewResolver,上述配置将所有错误(不区分错误码)都映射到了错误页面error.ftl,进行统一管理。

新建error.ftl页面渲染错误内容

和5xx.ftl类似的配置

 

3.一些异常配置

#BasicErrorController的请求路径(你可以遇到错误后跳转的路径,该路径是一个BasicErrorController的请求路径,映射到它errorHtml或者error方法,由请求接受类型决定,一个返回错误页面,一个返回错误json)
#server.error.path=/error
#always include stacktrace(是否包含异常的堆栈信息,默认NEVER,页面无法获取到${trace!}的值,可取值NEVER,ALWAYS,ON_TRACE_PARAM; on_trace_param意思是请求带上参数 ?trace=true)
server.error.include-stacktrace=always


4.springboot异常处理流程

controller->出错跳转->BasicErrorController->调用errorHtml方法->getErrorAttributes(获取错误属性返回model)->丢给页面处理器ErrorViewResolver

所以你可以定制controller/定制ErrorAttributes/定制ErrorViewResolver等,实现更加复杂的异常处理

 

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇二、spring boot 1.5.4 异常控制 下一篇三、spring boot 1.5.4 web容器定..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目