728x90
반응형

 

Spring Boot 2.0 기준으로 작성되었습니다.

 

홈페이지를 만들었는데 소스코드가 보여지는 에러페이지가 보여진다면

 

사용자 입장에서 잘 만들어진 홈페이지라고 생각하지 않을겁니다.

 

 

 

 

이런 디테일함 하나가 좋은 사이트를 만드는데 상당히 중요합니다.

 

간단하게 등록하는 방법을 알아보겠습니다.

 

 

 

 

먼저 맞춤 HTML 오류 페이지를 만들어야합니다.

 

Thymeleaf  템플릿 엔진을  사용하기 때문에 error 파일을 저장합니다 .

 

resource > templates 안에 error 페이지를 담는 package 를 만들었습니다.

 

handleError 에서 return 해주는 이름과 맞춰주면 됩니다.

 

 

 

 

 

ErrorController 인터페이스 를 구현하는 클래스를 만들고 

 

getErrorPath ()   재정의하여 오류 발생시 호출 할 사용자 정의 경로를 반환해야합니다.

 

getErrorPath ()에 의해 반환 된 경로에 대한 매핑을 만듭니다 . 

 

이렇게하면 컨트롤러가 / error  경로 에 대한 호출을 처리 할 수 ​​있습니다 .

/*
 * Error Custom Page Controller
 */
@Controller
public class ApiErrorController implements ErrorController {
    
    private final String ERROR_PATH = "/error";
    
    public ApiErrorController() { }
 
    @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 ERROR_PATH+"/error-404";
                
            } else if(statusCode == HttpStatus.INTERNAL_SERVER_ERROR.value()) {
                return ERROR_PATH+"/error-500";
            }
        }
        
        return ERROR_PATH+"/error";
    }
 
    @Override
    public String getErrorPath() {
        return "/error";
    }
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4f; text-decoration:none">Colored by Color Scripter
 

 

 

 

 

그런 다음 404 오류의 경우 예를 들어 error-404.html 페이지가 표시됩니다.

 

 

728x90
반응형

'프로그래밍 > Spring' 카테고리의 다른 글

[Spring] Gradle 외부 Jar 등록  (0) 2019.04.22
[Spring] Spring Boot 2.0 @Configuration  (0) 2019.04.17
[Spring] Spring Boot Servlet 등록  (0) 2019.04.17
[Spring] web.xml Servlet 스키마  (0) 2019.04.17
MAC OS에 maven 설치  (0) 2019.02.26

+ Recent posts