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;
}
}