Exception (예외)response.sendError(Http 상태 코드, 오류 메시지) 자바의 메인 메소드를 직접 실행하는 경우 'main'이라는 이름의 쓰레드가 실행된다.실행 도중에 예외를 잡지 못하고 처음 실행한 'main()' 메소드를 넘어서 예외가 던져지

서블릿은 'Exception(예외)'가 발생해서 서블릿 밖으로 전달되거나 'response.sendError()'가 호출 되었을 때 각각의 상황에 맞춘 오류 처기 기능을 제공한다. 하지만 서블릿 컨테이너가 제공하는 기본 예외 처리 화면은 고객 친화적이지 않다.때문에 우

서블릿은 'Exception(예외)'가 발생해서 서블릿 밖으로 전달되거나 'response.sendError()'가 호출되었을 때 설정된 오류 페이지를 찾는다. 예외 발생 흐름 >WAS (여기까지 전파) WAS (sendError 호출 기록 확인) 예를 들어서 Ru
WAS (여기까지 전파) <-- Filter <-- Servlet <-- Interceptor <-- Controller (예외발생) WAS ('/error-page/500' 다시 요청) --> Filter --> Sevlet --> Interce

Filter에서는 filterRegistrationBean.setDispatcherTypes(DispatcherType.REQUEST, DispatcherType.ERROR);를 이용하여 해당 요청이 발생했을 때만 필터가 적용 되도록 했었다. 또한 기본 값이 REQUE

WebServerCustomizer를 만들고 예외 종류에 따라서 ErrorPage를 추가하고 예외 처리용 컨트롤러 ErrorPageController를 만들었다.ErrorPage를 자동으로 등록한다. 이때 /error라는 경로로 기본 오류 페이지를 설정한다. \-

BasicErrorController는 다음 정보를 model에 담아서 뷰에 전달한다. 뷰 템플릿은 이 값을 활용해서 출력할 수 있다.하지만 이런 오류 관련 내부 정보들을 클라이언트에게 노출하는 것은 좋지 않다.따라서 BasicErrorController에서 다음 오류