에러 페이지 설정

By | 2020년 11월 8일
Table of Contents

에러 페이지 설정

디폴트 에러페이지 설정

단순히 resources/static/error 폴더에 파일을 생성하는 것만으로 에러페이지를 설정할 수 있습니다.

파일명은 에러코드와 일치해야 합니다.

커스텀 에러 페이지 설정

커스텀 에러 페이지 설정보다는 ControllerAdvice 가 좋은 듯 합니다.

아래처럼 컨트롤러를 생성해서 커스텀 에러페이지를 설정할 수 있습니다.

@Controller
public class CustomErrorController implements ErrorController {

    private final String VIEW_PATH = "/error/";

    @RequestMapping(value = "/error")
    public String handleError(HttpServletRequest request) {
        Object status = request.getAttribute(RequestDispatcher.ERROR_STATUS_CODE);

        if(status != null){
            int statusCode = Integer.parseInt(status.toString());

            if(statusCode == HttpStatus.FORBIDDEN.value()){
                return VIEW_PATH + "403.html";
            }
            if(statusCode == HttpStatus.NOT_FOUND.value()){
                return VIEW_PATH + "404.html";
            }
            if(statusCode == HttpStatus.INTERNAL_SERVER_ERROR.value()){
                return VIEW_PATH + "500.html";
            }
        }
        return VIEW_PATH + "error.html";
    }

    @Override
    @SuppressWarnings( "deprecation" )
    public String getErrorPath() {
        return null;
    }
}

답글 남기기