若定义了多个错误页面,响应码.html的优先级高于4xx.html、5xx.html的优先级若当前是一个404错误,则优先展示404.html而不是4xx。html.动态页面优先级高于静态的。resources/templates的高于resources/static的
springboot里支持对Error信息的深度定制
1.自定义Error数据
通过新建 自己的错误类MyErrorAttribute 继承DefaultErrorAttributes 对他的getErrorAttributes方法进行重写
先用super.getErrorAttributes来获取默认的错误信息,在对错误信息进行添加与移除Error信息。来完成自己的Error数据的定制
记得在MyErrorAttribute类上加入@Component注解,使得该类被注册到Spring容器内
2.自定义Error视图
通过自定义MyErrorViewResolver实现ErrorViewResolver接口里的resolveErrorView方法,使用@Componet注解将类注入到spring容器内。完成Error视图的自定义
3.完全自定义
创建自己的MyErrorController类继承自BasicErrorController并添加@Controller注解将MyErrorController注入到Spring容器
通过对errorHtml的重写完成Error视图的自定义,通过对error方法的重写完成对数据的自定义