默认情况,Spring Boot项目错误页面如下。
当项目实际上线,如果给用户显示这个页面就不是很友好。当系统出现异常时应该给用户显示更加友好的错误页面。
1 设置具体的状态码页面
在templates/下新建error文件夹,在error中新建:状态.html的页面。例如当出现500时显示的页面为500.html
1 使用x进行模糊匹配
当出现5开头状态码的错误时,显示页面可以命名为5xx.html
当出现50开头状态码的错误时,显示页面可以命名为50x.html
2 统一错误显示页面
在templates下新建error.html。如果项目中不存在具体状态码的页面或没有使用x成功匹配的页面时,显示error.html作为错误显示页面。
一、 异常处理
在Spring Boot项目中除了设置错误页面,还可以通过注解实现错误处理。
常见方式有两种:
在控制器类中添加一个方法,结合@ExceptionHandler。但是只能对当前控制器中方法出现异常进行解决。
新建全局异常类,通过@ControllerAdvice结合@ExceptionHandler。当全局异常处理和局部处理同时存在时,局部生效(就近原则)
1 局部异常处理
@Controller public class DemoController { @RequestMapping("/demo1") @ResponseBody public String demo1(){ int i = 5/0; return "demo1"; } @ExceptionHandler(ArithmeticException.class) @ResponseBody public String ArithmeticException(){ return "出错了"; } }
2 全局异常处理类
@ControllerAdvice public class ExceptionController { @ExceptionHandler(ArithmeticException.class) @ResponseBody public String AriExceptioin(){ return "执行全局"; } }