SpringBoot全局异常处理与定制404页面

本文分析了SpringBoot错误处理原理,包括自动配置的异常处理和AOP异常通知。推荐使用AOP进行异常处理,因为它提供更高的自由度,允许根据业务逻辑灵活调整。同时,介绍了如何定制404页面,以及在不同情况下错误信息的返回形式。
摘要由CSDN通过智能技术生成

一、错误处理原理分析

使用SpringBoot创建的web项目中,当我们请求的页面不存在(http状态码为404),或者器发生异常(http状态码一般为500)时,SpringBoot就会给我们返回错误信息。

也就是说,在SpringBoot的web项目中,会自动创建一个/error的错误接口,来返回错误信息。但是针对不同的访问方式,会有以下两种不同的返回信息。这主要取决于你访问时的http头部信息的Accept这个值来指定你可以接收的类型有哪些

  • 使用浏览器访问时的头信息及其返回结果
Accept: text/html

  • 使用其他设备,如手机客户端等访问时头部信息及其返回结果(一般是在前后端分离的架构中)
Accept: */*

二、进行错误处理

处理异常主要有两种方式:

1. 使用SpringBoot的自动配置原理进行异常处理

SpringBoot自动配置了一个类ErrorMvcAutoConfiguration来处理处理异常,有兴趣的可以去看一下,然后在这个类中定义一个错误的BasicErrorController类,主要代码有如下:

@Controller
@RequestMapping({"${server.error.path:${error.path:/error}}"})
public class BasicErrorController extends AbstractErrorController {

  	/**
  	 * 错误的页面响应 
  	 */
    @RequestMapping(produces = {"text/html"})
    public ModelAndView errorHtml(HttpServletRequest request, HttpServletResponse response) {
        HttpStatus status = this.getStatus(request);
        Map&l
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值