一,错误页面

如图所有,这两种错误提示在springboot开发的应有程序中都很常见,第一种是html请求,第二种是json格式的请求。

在SpringBoot中,默认错误请求控制器是BasicErrorController。

@RequestMapping注解的意思是,如果配置文件没有配置server.error.path,则默认使用error

这里主要看我圈出来的这两个方法,第一个方法是处理html请求的错误,第二种是处理json格式请求的错误。

了解完基础知识之后,就可以开始准备我们专属的错误页面的。

从SpringBoot官方文档里边可以知道,默认的错误页面是在templates下的一个erroe.html文件,如果我们替换掉默认的,只需要再这个目录下新建一个error.html即可。

测试代码:

可以看到,我们新创的error.html已经替换掉springboot默认的错误页面了。除了这种全部错误都用一个页面来展示的方法,我们也可以用错误码来区分错误,让不同的错误跳转到不同的HTML。

测试代码:

其他的错误码页面也是类似,要注意,文件的目录是放在templates/error/xxx.html ,同时,我们也可以看出来,错误页面的响应也是有优先级的,具体的请看总结。

接下来,是动态的错误页面。一般页面上都需要把错误信息给打印出来。

注意,这里配置文件要改动一下,不然页面上是获取不到错误信息的。

小总结:基本上,springboot错误页面的配置已经讲解完了,各种错误页面的优先级是 : 动态 > 静态 > error.html

二,统一异常处理

这里主要涉及到2个注解:@ExceptionHandler和@ControllerAdvice

@ExceptionHandler注解,此注解注解到类的方法上,当此注解里定义的异常抛出时,此方法会被执行。

如果@ExceptionHandler所在的类是@Controller,则此方法只作用在此类。

如果@ExceptionHandler所在的类带有@ControllerAdvice注解,则此方法会作用在全局。

也就是说,局部的异常处理 =  @Controller/@RestController + @ExceptionHandler,全局的异常处理 = @ControllerAdvice + @ExceptionHandler

局部异常处理  测试代码:

可以看到,两个不同的controller,同样的异常,不同的错误输出。

全局异常处理-代码测试:

可以看到,两个controller都可以对同一个异常做出同样的处理。

三,总结

介绍了springboot默认处理错误页面的几种方法和介绍了怎么做一个异常统一处理。在项目里,配置了异常统一处理之后,不管哪里抛出的异常,我们只需在统一处理的方法上修改我们的逻辑即可,减轻我们开发和维护的难度,毕竟方法多了之后异常零散分散在不同的方法里,不好管理。

SpringBoot 错误页面和异常处理相关推荐

  1. Springboot - 错误页面重定向 - 根据错误码重定向到指定页面

    Springboot - 错误页面重定向 - 根据错误码重定向到指定页面 在resources目录下建立文件夹public 在public目录下建立文件夹error 在error文件夹下放置404.h ...

  2. SpringBoot 错误页面使用、自定义错误页、自定义异常、自定义异常解析器

    在SpringBoot使用错误页面非常的简单 一. 错误页面使用 二. 自定义错误页 三.自定义异常 四.自定义异常解析器 一. 错误页面使用 只需要在templates里创建一个error文件夹,然 ...

  3. Springboot错误页面和错误信息定制

    SpringBoot2.1.4错误处理机制 前面一片已经介绍了springboot错误处理的机制,其实从整个分析过程中我们已经大概知道如何定制了. 1.错误页面自定义 springboot有个默认的错 ...

  4. springboot返回404错误页面

    springboot返回404错误页面 1.HandlerInterceptor 拦截器的使用 实现HandlerInterceptor 接口,或者继承重写了HandlerInterceptor 接口 ...

  5. Springboot关于错误页面处理和统一异常处理

    01.概述 在项目访问的时候我们经常会发生错误或者页面找不到,比如:资源找不到404,服务器500错误,默认情况下springboot的处理机制都是去跳转内部的错误地址:/error 和与之对应的一个 ...

  6. SpringBoot异常处理-自定义错误页面

    自定义错误页面 SpringBoot 默认的处理异常的机制:SpringBoot 默认的已经提供了一套处理异常的机制. 一旦程序中出现了异常SpringBoot 会像/error 的url 发送请求. ...

  7. springboot 全局异常处理 自定义mvc错误页面展示

    如下:所有的异常都会进入到这里.根据个人业务按需处理 全局异常处理 @ControllerAdvice public class ErrorAdviceController {//指定捕获对象@Exc ...

  8. SpringBoot 多种方式配置错误页面

    参考资料 SpringBoot异常处理机制-BasicErrorController与@ControllerAdvice Java开发从工作到原理–BasicErrorController统一异常处理 ...

  9. 017_SpringBoot异常处理方式-自定义错误页面

    1. 使用maven构建SpringBoot的名叫spring-boot-exception1项目 2. pom.xml <project xmlns="http://maven.ap ...

最新文章

  1. spark on yarn 完全分部署_大数据Spark面试题(一)
  2. 分布与并行计算—生命游戏(Java)
  3. java按钮退出_java – 如何在此程序中添加退出按钮?怎么样“清楚”?
  4. 【Python】Matplotlib利用楔形绘制圆环形饼图
  5. kafka自定义分区实战
  6. Oracle中的数据库对象
  7. listctrl 的使用技巧
  8. Python之认识世界
  9. java .class文件和.class文件区别是什么?
  10. 关于ext4 simg fill chunk type
  11. apache日志文件 accesslog
  12. vulnhub-Odin
  13. 0501 0503 模块区别_关于博途STEP7仿真软件究竟与真实PLC有哪些区别?
  14. office教程:如何给excel表格重命名工作表
  15. 均值滤波及中值滤波的区别
  16. Docker容器——重命名镜像的TAG
  17. MySQL专题四——MySQL函数(聚合函数)
  18. 1.5小时,一键部署Oracle 11GR2 RAC 集群
  19. 机器学习 数据预处理之数据打标签
  20. 路由器原理及路由协议

热门文章

  1. ASP入门学习(一)准备阶段
  2. vue-resource post php,Vue学习笔记进阶篇——vue-resource安装及使用
  3. dotnet 删除自身程序的方法
  4. FDA首次批准iPad成为医学影像诊断辅助产品
  5. 隔离型串口服务器和西门子1500PLC和通讯案例
  6. 计算机控制系统采样与保持实验报告,实验一采样与保持.docx
  7. python毕业设计作品基于django框架 校园运动场地预约系统毕设成品(6)开题答辩PPT
  8. linux内核 gpu,科学网—Intel GPU虚拟化方案 KVMGT 正式进入Linux 内核 4.10 - 戚正伟的博文...
  9. 新版标准日本语高级_第17课
  10. 汉仪字库与中国美术学院字体设计工作站正式建立