当程序出错的时候,比如500错误,当用户输入的url错误时会找不到网页。
在这种情况下如果用默认的错误页面非常不友好。
一般我们都需要定制一些错误的页面。
在普通的web项目中很简单,直接配置web.xml就可以了。
<error-page>
<error-code>404</error-code>
<location>/WEB-INF/view/404.jsp</location>
</error-page>
<error-page>
<error-code>400</error-code>
<location>/WEB-INF/view/400.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/WEB-INF/view/500.jsp</location>
</error-page>
今天我介绍的是在spring boot中如何使用自己的错误页面。
因为boot中是没有web.xml这个文件的,所以我们需要使用java config的方式来实现。
@Configuration
public class ErrorConfiguration {
@Bean
public EmbeddedServletContainerCustomizer containerCustomizer() {
return new EmbeddedServletContainerCustomizer(){
@Override
public void customize(ConfigurableEmbeddedServletContainer container) {
container.addErrorPages(new ErrorPage(HttpStatus.BAD_REQUEST, "/400"));
container.addErrorPages(new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR, "/500"));
container.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND, "/404"));
}
};
}
}
/**
* 自定义错误页面覆盖spring boot中的错误页面
* @author yinjihuan
*
*/
@Controller
public class ErrorController {
@GetMapping("/400")
public String badRequest() {
return "error/400";
}
@GetMapping("/404")
public String notFound() {
return "error/404";
}
@GetMapping("/500")
public String serverError() {
return "error/500";
}
}
页面内容可以自己写
<body>
<section id="error" class="container text-center" style="height:800px;">
<h1>404, 页面没有找到</h1>
<p>您正在寻找的页面不存在或发生其他错误。</p>
<a class="btn btn-primary" href="http://pan.cxytiandi.com">回到网站首页</a>
</section>
</body>
当你输入的页面找不到时就会出现一个你自己定制的页面 下面是效果图