반응형
기본적으로 서버 에러는 표현정도의 컨트롤이 가능하다
application.properties파일에서
#tomcat 설정
server.error.include-exception= true
server.port = 8888
server.tomcat.uri-encoding= UTF-8
#default:NEVER
server.error.include-stacktrace = ALWAYS
server.error.whitelabel.enabled=true
server.error.path= /error
#default:NEVER
server.error.include-binding-errors=ALWAYS
#server.error.include-exception : 오류 응답에 exception의 내용을 포함할지 여부 (TRUE, FALSE)
#server.error.include-stacktrace : 오류 응답에 stacktrace 내용을 포함할지 여부 (ALWAYS, NEVER, ON_TRACE_PARAM)
#server.error.path : 오류 응답을 처리할 핸들러(ErrorController)의 path
#server.error.whitelabel.enabled : 브라우저 요청에 대해 서버 오류시 기본으로 노출할 페이지를 사용할지 여부 (TRUE, FALSE)
같이 설정해주었다.
그다음 컨트롤러 하나 파서
spring boot 기본인 errorcontroller 에서 상속받아
@Controller
public class ErrorHandler implements ErrorController{
@GetMapping("/error")
public String handleError(HttpServletRequest request){
Object status = request.getAttribute(RequestDispatcher.ERROR_STATUS_CODE);
if(null != status){
int statusCode = Integer.valueOf(status.toString());
if(statusCode == HttpStatus.FORBIDDEN.value()){
return "error_403";
}else if(statusCode == HttpStatus.NOT_FOUND.value()){
return "error_404";
}
}
return "error";
}
@Override
public String getErrorPath() {
// TODO Auto-generated method stub
return "/error";
}
}
와 같이 403 or 404 에러 처리 핸들링을 해주었다.
그 다음은 이전과같이 설정한경로(나는 jsp 이용 web-inf/views 하위)에 error_404.jsp 파일을 설정해 에러를 핸들링하였다.
반응형
'[SPRING] > SPRING' 카테고리의 다른 글
application.properties 파일 여러개 나눠서 이용하기 (0) | 2022.06.09 |
---|---|
Index 256 out of bounds for length 256 에러 (0) | 2022.06.08 |
[Class to Java] 클래스 파일 자바 변환(디컴파일) (0) | 2022.02.07 |
스프링 빠르게 로그파일 만들기 (+로그파일 위치 컨피그 파일로 빼기) (0) | 2022.01.17 |
[SPRING] properties 값 다른 위치에서 불러오는 4가지 찍먹 (2) | 2022.01.17 |