一 ,在跟启动类同级目录创建一个config包,并在包下创建ErrorPageConf类,该类实现ErrorPageRegistrar 接口,并重写registerErrorPages方法。
package com.example.springboot1.config;
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;
/**
* 当请求状态400,401,404,500时,跳转到指定页面
*/
@Configuration
public class ErrorPageConf implements ErrorPageRegistrar {
@Override
public void registerErrorPages(ErrorPageRegistry registry) {
ErrorPage page400 = new ErrorPage(HttpStatus.BAD_REQUEST, "/3rd/404.html");
ErrorPage page401 = new ErrorPage(HttpStatus.UNAUTHORIZED, "/3rd/404.html");
ErrorPage page404 = new ErrorPage(HttpStatus.NOT_FOUND, "/3rd/404.html");
ErrorPage page500 = new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR, "/3rd/500.html");
registry.addErrorPages(page400,page401,page404,page500);
}
}
二,在static目录下创建3rd目录,并把你准备的html文件加入。
三,演示效果。
启动程序测试,当我访问一个不存在的url时,自动跳转到我指定的html,如下所示。