这里在上一篇博客GlobalExceptionHandler中增加以下代码:
/**
* 处理404页面找不到错误
* 配置一个bean
*
*/
@Bean
public WebServerFactoryCustomizer<ConfigurableWebServerFactory> webServerFactoryCustomizer() {
return ((ConfigurableWebServerFactory factory) -> {
ErrorPage error401Page = new ErrorPage(HttpStatus.UNAUTHORIZED, "/401.html");
ErrorPage error404Page = new ErrorPage(HttpStatus.NOT_FOUND, "/404.html"); //OK
ErrorPage error500Page = new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR, "/500.html");
factory.addErrorPages(error401Page, error404Page, error500Page);
});
}
在resources下的static,public,resources和META-INF下的resources目录都可以放静态页面
如果想要模拟某个状态码,在控制层加上注解@ResponseStatus
@ResponseStatus(code = HttpStatus.UNAUTHORIZED)
@RequestMapping("/web/page")
public String page() {
//int a = 10 / 0; //抛出异常,显示一个背景白色的错误页面,不是很友好
//return "page";
return null;
}
访问路径web/page,则会触发401异常