SpringBoot异常处理之自定义统一的错误处理页面
总体来讲,springboot里处理异常有五种方式,先看第一种:
利用springboot的默认配置,我们自定义统一的错误处理页面
前面说了SpringBoot只是帮助我们做了整合的工作,做配一堆的默认配置工作,异常处理的配置当然会有,
SpringBoot里边儿有个BasicErrorController...等一系列对象来处理异常,很人性化,是浏览器访问,出异常它会返回一张html页面显示异常信息,是其他设备访问出现异常,它会直接返回json格式的异常数据。
返回的异常信息可以在DefaultErrorAttributes类里查询
timestamp:发生异常的时间戳
status:异常状态码
error:错误提示信息
exception:错误对象
message:异常消息
errors:JSR303数据校验的异常信息
当系统发生异常时,不希望访问SpringBoot默认的页面,要访问自己的错误页面怎么办?
SpringBoot内部有关异常方法的设定
发生异常后
- 有模板引擎目录下有错误页面没的?有,它就会默认去访问,这里的规则是 /模板引擎目录/error/错误代码命名的页面,比如(/templates/error/404.html),另外SpingBoot把错误分成了两类,客服端异常4xx,服务器端异常5xx,所以我们可也有(/templates/error/4xx.html和/templates/error/5xx.html)两个页面。
- 模板引擎目录/没有错误页面模板,SpringBoot回去静态资源目录/error/下面找错误代码命名的页面。
- 模板引擎目录/没有错误页面,静态资料目录下页面没有的,显示SpringBoot自己默认的页面。
知道内部设计后,根据规则自己做错误页面就是了!看例子: