기본 콘텐츠로 건너뛰기

Spring 에러화면 보여주기

@Controller
public class ErrorHandler implements ErrorController {
    private String viewPath = "thymeleaf/error/";

    @GetMapping("/error")
    public String error(HttpServletRequest request) {
        Object status = request.getAttribute(RequestDispatcher.ERROR_STATUS_CODE); // 상태 코드 (예: 404, 500)
        if (status != null) {
            int statusCode = Integer.parseInt(status.toString());
            
            if(statusCode == HttpStatus.NOT_FOUND.value()) {
                return viewPath + "404";
            } else if (statusCode == HttpStatus.FORBIDDEN.value()) {
                return viewPath + "500";
            }
        }
        return viewPath + "other";
    }
}
/*HttpStatus.FORBIDDEN.value()    // 403 : 금지
 *HttpStatus.METHOD_NOT_ALLOWED.value()    // 405 : 비 허가 된 방식
 *HttpStatus.NOT_FOUND.value()    // 404 : 찾을 수 없음
 *HttpStatus.REQUEST_TIMEOUT.value()    // 408 : 요청 시간 초과
 *HttpStatus.INTERNAL_SERVER_ERROR.value()    // 500 : 인터넷 서버 오류
*/

이 블로그의 인기 게시물