
다시살려주기




예외를 호출하면?


오류 페이지 컨트롤러도 JSON 응답 가능하게

추가해주자

정상 출력
런타임 익셉션 -> WebserVercustomiser -> /error-page/500
-> ErrorPageController 방금 만들어준 제이슨 부분 .

다시없애기

예외터짐 -> 서블릿컨테이너까지올라감 - > 스프링부트가 에러페이지 호출

->

이런식으로 된다.

url 기본은 /error

text/html 경우 이런 방식으로 ModelAndView 찾아서
아닌경우는?

ErrorPAgeController 와 흡사하다.

예외가 발생해서 서블릿을 넘어 WAS 까지 예외가 전달되면 HTTP 상태코드가 500으로 처리됨 발생하는
예외 에 따라서 400 , 404 등등 다른 상태코드로 처리하고 싶다..

사용자가 아규먼트를 잘못보낼 때?



원래 500이 떠야됨.. 이미 해버려서 400이떠버렷는데 밑에서 계쏙 알아보자

예외를 해결해주는 해결자를 사용해보자.


빈모델엔뷰 보내주면 정상정상 리턴이다

웹 컨피그에서 extendhandler 추가해줘야됨
정상적으로 400 리턴됨.

was 는 샌드에러받고 에러페이지를 뒤짐

Ex 인경우도 resolveException이 호출되지만 아직코드를
추가하지 않아 따로 처리가 되지 않는다.
지금까지는 컨트롤러 예외 WAS 까지.. 너무 복잡하다.
핸들러 익셉션 리졸버에서 다 해결해버리기.



Basic Error controller








예외 -> responseStatusException




애노테이션에 ..?
response.sendError 리턴 뉴 모델앤 뷰


메시지기능 제공




스프링 내부에서 발생하는 스프링 예외를 해결함
DefaulthandlerExceptionResolver













그러나 상태코드가 200?
정상흐름이 되버리네..
추가로 ? 예외상태 코드도 바꿔줘야된다 .







https://docs.spring.io/spring-framework/docs/current/reference/html/web.html#mvc-ann- exceptionhandler-args


컨트롤러에 있는 것들을 한 곳에서 모아서 처리 해준다.

