(九)SpringBoot之錯誤處理


一、錯誤處理方法

1.Spring Boot 將所有的錯誤默認映射到/error, 實現ErrorController

2.添加自定義的錯誤頁面

 

 

二、Spring Boot 將所有的錯誤默認映射到/error, 實現ErrorController

  2.1  編寫ErrorController

package com.shyroke.controller;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.autoconfigure.web.ErrorController;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping(value="/error")
public class ErrController implements ErrorController {

    private static final Logger logger = LoggerFactory.getLogger(ErrController.class);
    
    @Override
    public String getErrorPath() {
        logger.info("出錯啦!進入自定義錯誤控制器");
        return "error/error";
    }

    @RequestMapping
    public String error() {
        return getErrorPath();
    }
    
}

  2.2  編寫錯誤頁面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
    錯誤啦,請聯系管理員!!!
    
</body>    
</html>

 

  2.3  application.properties

#主配置文件,配置了這個會優先讀取里面的屬性覆蓋主配置文件的屬性
spring.profiles.active=dev
server.port=8888
    
logging.config=classpath:log4j2-dev.xml
spring.mvc.view.prefix: /WEB-INF/templates/
spring.mvc.view.suffix: .jsp

 

  2.4  結果

 

 

三、添加自定義的錯誤頁面

  •  html靜態頁面:在resources/public/error/ 下定義

如添加404頁面: resources/public/error/404.html頁面中文注意頁面編碼

 

  •  模板引擎頁面:在templates/error/下定義

如添加5xx頁面 templates/error/5xx.ftl

  • templates/error/ 這個的優先級比較 resources/public/error/高

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM