在SpringBoot使用错误页面非常的简单

  • 一、 错误页面使用
  • 二、 自定义错误页
  • 三、自定义异常
  • 四、自定义异常解析器

一、 错误页面使用

只需要在templates里创建一个error文件夹,然后它会自动到error里面找到相对应的页面,比如说我们需要404页面,那么只需要在error里放入一个404页面就ok了,想要500就在里面放入500的页面(我这里写的5xx意思是说500、501、502…等都可以访问这个5xx)

【 error/5xx.html;有精确的错误状态码页面就匹配精确,没有就找 5xx.html;如果都没有就触发白页(也就是默认的)】

正常情况下,500是这样子的

使用了error里面的5xx是这样的

(修改标签体内容之前——原本)

        <section class="error-wrapper text-center"><h1><img alt="" src="data:images/500-error.png"></h1><h2>OOOPS!!!</h2><h3>Something went wrong.</h3><p class="nrml-txt">Why not try refreshing you page? Or you can <a href="#">contact our support</a> if the problem persists.</p><a class="back-btn" href="index.html"> Back To Home</a></section>

(修改标签体内容之后——修改)

        <section class="error-wrapper text-center"><h1><img alt="" src="data:images/500-error.png"></h1><h2>OOOPS!!!</h2><h3 th:text="${message}">Something went wrong.</h3><p class="nrml-txt" th:text="${trace}">Why not try refreshing you page? Or you can <a href="#">contact our support</a> if the problem persists.</p><a class="back-btn" href="index.html"> Back To Home</a></section>



二、 自定义错误页

package com.atguigu.admin.exception;import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;/*** 处理整个Web Controller的异常* @author LunarYouI* @create 2021-04-13 11:06*/@Slf4j
@ControllerAdvice
public class GlobalExceptionHandler {@ExceptionHandler({ArithmeticException.class,NullPointerException.class}) //处理异常(数学运算异常、空指针异常)public String handleArithException(Exception e){//打印处理了哪些异常log.error("异常是:{}",e);return "login";  //视图地址}
}

出现数学运算异常或者空指针异常那么就会跳转登录页面

三、自定义异常

@GetMapping("/dynamic_table")public String dynamic_table(Model model){//表格内容的遍历   (Arrays.asList:将一个数组转化为一个List对象)List<User> users = Arrays.asList(new User("张三", "123456"),new User("李四", "654321"),new User("王五", "135791"),new User("张麻子", "135790"));model.addAttribute("users",users);//大于3就触发自定义异常if(users.size()>3){throw new UserTooManyException();}return "/table/dynamic_table";}

自定义异常

package com.atguigu.admin.exception;import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.ResponseStatus;/*** 自定义异常* @author LunarYouI* @create 2021-04-13 11:41*///拒绝403
@ResponseStatus(value = HttpStatus.FORBIDDEN,reason = "用户数量太多")
public class UserTooManyException extends RuntimeException{public UserTooManyException(){}public UserTooManyException(String message){super(message);}
}

四、自定义异常解析器

使用了@Order(value = Ordered.HIGHEST_PRECEDENCE) 那么我们自定义的异常解析器优先级就会特别高,不管触发了什么空指针异常或者自定义等其它异常,他都会优先显示“ 511 我喜欢的错误”

package com.atguigu.admin.exception;import org.springframework.core.Ordered;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerExceptionResolver;
import org.springframework.web.servlet.ModelAndView;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;/*** 自定义异常解析器** @author LunarYouI* @create 2021-04-13 19:06*/@Order(value = Ordered.HIGHEST_PRECEDENCE) //优先级。数字越小优先级越高
@Component
public class CustomerHandlerExceptionResolver implements HandlerExceptionResolver {@Overridepublic ModelAndView resolveException(HttpServletRequest request,HttpServletResponse response,Object o, Exception ex) {try {response.sendError(511,"我喜欢的错误");} catch (IOException e) {e.printStackTrace();}return new ModelAndView();}
}

自定义实现 HandlerExceptionResolver 处理异常;可以作为默认的全局异常处理规则

SpringBoot 错误页面使用、自定义错误页、自定义异常、自定义异常解析器相关推荐

  1. java错误页面_java自定义错误页面实现方法

    java后台自定义错误页面:(推荐:java视频教程) java后台项目中,经常会出现404或500等错误, 如果不做设置,服务器会默认返回404或500的错误页面 给前端显示错误页面. 掌握了错误页 ...

  2. apache 设置404 页面_SpringBoot自定义错误页面

    SpringBoot请求错误如404可能看到如下页面: 有时可能需要自定义错误页面针对不同的http.status,如404/400. [1]解决方法 ① 注册错误页面 如下所示: @Componen ...

  3. linux中httpd错误页面图片,自定义404页面

    呵呵,我看大前端上没有404的相关文章,于是就拿过来了. 自定义404界面.懂得人可以无视,毕竟我是初学者哈. 看我的这个图片: 当然,上面的东西是我自己编的,在出现无法找到所请求的页面的时候,会进行 ...

  4. iis php 404错误页面,IIS自定义404错误页面

    404.503错误相信大多数站长朋友很对很熟悉,网站刚刚搭建完成后我们一般都会做一个404和503错误页面.那么这是怎么操作的呢?熟悉我的朋友们一定会记得我前段时间写的一篇<Apache服务器实 ...

  5. mvc怎么请求服务器错误信息,asp.net-mvc – IIS显示服务器错误而不是自定义错误...

    我正在使用MVC 5,我正在使用自定义视图处理我的错误,例如(404,403 --等) 它在我的本地IIS上工作正常,但是当我在登台服务器上发布时,它显示有关这些错误代码的IIS服务器错误消息. 它显 ...

  6. android动态设置错误页面,Android缺省页的正确打开方式(优雅的处理loading、error、empty...

    Android缺省页的正确打开方式(优雅的处理loading.error.empty Android缺省页的正确打开方式(优雅的处理loading.error.empty各种状态缺省) MultiSt ...

  7. nginx自定义错误页

    文章目录 自定义错误页 1.为每种类型的错误设置单独的处理方式 2.利用在线资源进行处理错误 3.更改晌应状态码 4.设置错误页面案例 自定义错误页 在网站访问过程中,经常会遇见各种各样的错误,如找不 ...

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

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

  9. java tomcat 404配置_在Tomcat中配置404自定义错误页面详解

    一直使用tomcat,今天想到一个问题,自定义404错误页面, 为了获得很好的用户感受,是不应当向用户暴露404这样的页面的, 问题的出发点是我在Struts2中定义错误页面, 在Struts2中是这 ...

  10. 【转载】ASP.NET自定义404和500错误页面

    在ASP.NET网站项目实际上线运行的过程中,有时候在运行环境下会出现400错误或者500错误,这些错误默认的页面都不友好,比较简单单调,其实我们可以自行设置这些错误所对应的页面,让这些错误跳转到我们 ...

最新文章

  1. 为什么工厂模式可以解耦?(一)
  2. 手写简版spring --9--对象作用域和FactoryBean
  3. unwind neo4j_Neo4j 2.1:传递节点ID与UNWIND
  4. CSS 属性 - 伪类和伪元素的区别
  5. Linux学习第五篇之文件处理命令touch、cat、tac、more、less、head、tail
  6. php的simplexml
  7. C# Exception 对象的属性
  8. 饿了么口碑实现超30亿美元融资,引领本地生活数字化升级...
  9. dataGruidView整行选中
  10. Java线上排错---反编译文件
  11. 10个Python爬虫入门实例
  12. 用Python操作PPT的办公自动化教程
  13. 毕业答辩ppt怎么做?
  14. C语言判断关系R是否为自反关系
  15. win10 +ubuntu20.04双系统安装:双硬盘+nvidia独立显卡
  16. 大数据相关各职位解析
  17. 百度云下载不限速方法+软件
  18. xshell连接不上虚拟机Linux
  19. 腾讯正式推出密码保护卡,貌似对火狐用户重视不够
  20. 计算机组成原理中主机概念,计算机组成原理概念术语

热门文章

  1. 浙江移动咪咕MGV2000-K4_ZJ_S905l2_7661_线刷固件包
  2. android平台驱动开发(二)--设备属性节点的创建
  3. idea配置阿里代码规范
  4. 十六足球队,随机分四组
  5. 做的最简单的APP-计数器
  6. YDOOK: ANSYS Maxwell 19 教程26:Maxwell 2D 求解二维静电场 电线电缆应用设计4 网格划分
  7. CSS3综合练习,导航菜单的制作
  8. Flash、RAM、ROM的区别
  9. 解决加密PDF的破解软件
  10. MATLAB与STK互联29:仿真案例4—GEO赋形波束示例(Executecommand的一些用法、Sensor指向的设置)