版本说明:Spring Boot 1.5.4.RELEASE
1.首先禁用Whitelabel error page, application.properties中添加
server.error.whitelabel.enabled=false
2.定义error.jsp, 404.jsp, 500.jsp等错误画面
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<head th:include="fragments/header :: header"/>
<script type="text/javascript">
function toIndex(){
window.location.href = ctx + "/index";
}
</script>
</head>
<body class="body-bg w100">
<div class="Center" style="height: 100%;">
<div class="Container">
<div class="Container-1" style="height: 100%;">
<div class="Content bg" style="text-align: center;">
<h1>Sorry, page not found</h1>
<a onclick="toIndex()">Go Home</a>
</div>
</div>
</div>
</div>
</body>
</html>
3.创建Controller实现 org.springframework.boot.autoconfigure.web.ErrorController 接口
@Controller
public class AppErrorController implements ErrorController {
@Override
public String getErrorPath() {
return "/error";
}
@RequestMapping("/error")
public String handleError(HttpServletRequest request) {
Object status = request.getAttribute(RequestDispatcher.ERROR_STATUS_CODE);
if (status != null) {
Integer statusCode = Integer.valueOf(status.toString());
if (statusCode == HttpStatus.NOT_FOUND.value()) {
return "commons/404";
} else if (statusCode == HttpStatus.INTERNAL_SERVER_ERROR.value()) {
return "commons/500";
}
}
return "commons/error";
}
}