欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > SpringBoot 异常配置

SpringBoot 异常配置

2024/10/24 14:22:55 来源:https://blog.csdn.net/Block_yang/article/details/139565712  浏览:    关键词:SpringBoot 异常配置

系统异常处理

创建异常处理器类,类上添加@ControllerAdvice注解。

package com.soft.exception;import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.servlet.ModelAndView;@ControllerAdvice
public class SysExceptionHandler {@ExceptionHandler(value = Exception.class)public ModelAndView handleMyException(Exception e) {ModelAndView modelAndView = new ModelAndView();// 错误视图页面modelAndView.setViewName("500");// 错误页面的提示信息modelAndView.addObject("msg", e.getMessage());return modelAndView;}
}

控制层方法抛出异常测试:

@RequestMapping("/exp")
public void testException() throws Exception {throw new Exception("手动抛出自定义异常...");
}

创建错误页面 500.html:

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
异常界面信息:<span th:text="${msg}"></span>
</body>
</html>

页面显示为:
在这里插入图片描述

页面发生错误处理

首先需要创建一个配置类,实现ErrorPageRegistrar 接口,主要使用到接口里面的一个方法registerErrorPages

package com.soft.exception;import org.springframework.boot.web.server.ErrorPage;
import org.springframework.boot.web.server.ErrorPageRegistrar;
import org.springframework.boot.web.server.ErrorPageRegistry;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.HttpStatus;
@Configuration
public class ErrorCodePageHandler implements ErrorPageRegistrar {@Overridepublic void registerErrorPages(ErrorPageRegistry registry) {ErrorPage[] errorPages = new ErrorPage[2];//添加错误页面进行映射errorPages[0] = new ErrorPage(HttpStatus.NOT_FOUND, "/404.html");errorPages[1] = new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR, "/500.html");registry.addErrorPages(errorPages);}
}

在上方的配置类中需要创建一个ErrorPage数组,每个ErrorPage对象包含一个HttpStatus和一个路径,表示当发生该状态码的错误时,跳转到哪个路径下。
最后需要调用registry.addErrorPages(errorPages)方法,将错误页面数组注册到错误页面注册器中。
测试:
html文件应该放到静态资源目录下,一般为:src/main/resources/static,在该目录中创建一个为自定义页面的文件,比如404.html,显示自定义的错误页面。例如:

<!DOCTYPE html>
<html lang="en" >
<head><meta charset="UTF-8"><title>路径错误</title>
</head>
<body>
路径错啦~
</body>
</html>

当访问路径错误的时候,页面显示为:
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com