SpringBoot 捕获/error 并导向错误页面

描述

如果你用的是 SpringBoot 启动项目, 并且没有配置各种错误捕获页面. 最简单的, 如果你想配置一个404页面怎么办?

配置404页面

首先你得准备一个404.html 的页面.

然后新建一个 PageNotFoundController

@Controller
public class PageNotFoundController implements ErrorController {
    public static final String PATH = "/error";
    
    @RequestMapping(value = PATH, method = RequestMethod.GET)
    public String pageNotFound(){
        doSomeLogic(); // 处理一些逻辑
        printLog(); // 可以打印日志
        return "404"; // 返回页面名称 这里是404.html
    }
    
    @Override
    public String getErrorPath() {
        return PATH;
    }
}

注意:

  1. 一定要实现 Spring 自己的 ErrorController, 不然系统是无法识别/error mapping 的.
  2. 一定要实现 getErrorPath 方法, 否则也是无法正常工作的.
  3. 如果有 SpringSecurity 或者其他拦截器, 记得过滤掉/error 哦

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注

Scroll to Top