配置錯誤信息提示頁
在Web項目開發過程中,錯誤信息提示頁是一個非常重要的組成部分。
程序項目很難保證不出現類似於404或500的錯誤問題,
直接讓用戶看到滿是異常信息的頁面是不好的非常影響用戶體驗的,
需要個信息提示錯誤頁。
信息提示錯誤頁一般都屬於靜態頁面,
在src/main/view/static目錄下創建個
error-404.html
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>404頁面</title>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
</head>
<body>
<h1>對不起,頁面消失了(404)!</h1>
</body>
</html>
error-500.html
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>500頁面</title>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
</head>
<body>
<h1>對不起,先讓我靜靜的崩潰會兒(500)!</h1>
</body>
</html>
建立錯誤頁配置
cn.liuawen.config
創建ErrorPageConfig.java類
HttpStatus.NOT_FOUND 沒找到
HttpStatus.INTERNAL_SERVER_ERROR 服務器內部錯誤
@Configuration
public class ErrorPageConfig {
@Bean
public EmbeddedServletContainerCustomizer containerCustomizer() {
return new EmbeddedServletContainerCustomizer() {
@Override
public void customize(ConfigurableEmbeddedServletContainer container) {
ErrorPage errorPage404 = new ErrorPage(
HttpStatus.NOT_FOUND, "/error-404.html"); // 定義404錯誤頁的狀態碼與跳轉映射路徑
ErrorPage errorPage500 = new ErrorPage(
HttpStatus.INTERNAL_SERVER_ERROR, "/error-500.html"); // 定義500錯誤頁的狀態碼與跳轉映射路徑
container.addErrorPages(errorPage404, errorPage500); // 追加錯誤頁
}
};
}
}
配置完錯誤頁之後,會根據用戶請求時的http狀態碼跳轉到不同的頁面顯示。
瀏覽器輸入http://localhost/hello 沒有hello
404錯誤頁
<html xmlns:th="http://www.thymeleaf.org"><head>
<title>404頁面</title>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
</head>
<body>
<h1>對不起,頁面消失了(404)!</h1>
</body></html>