예외 처리를 위한 메서드를 작성하고 @ExceptoinHandler
를 붙인다.
@ExceptoinHandler(처리할 예외들)
여러개이면 {}로 배열처리한다. 각각의 메서드 안에 있는 Model m은 다르다는 것을 기억하자.
예외 처리 메서드가 중복된 경우, 컨트롤러 내의 예외 처리 메서드가 우선이다.
클래스를 따로 만들고 예외처리 메서드를 안에 넣고 @ContollerAdvice를 붙이면 이 메서드들이 모든 컨트롤러에 발생한 예외를 처리 가능해진다.
@ContollerAdvice에 아무것도 안 적으면 모든 패키지에 적용되고 적으면( ()표시안에 무언가 있다는 뜻) 지정된 패키지에만 적용이 가능한다.`
응답 메시지의 상태 코드를 변경할때 사용한다. 예외처리메서드 앞에 붙여서 상태 코드를 변경할 수 있다.
예외 클래스 앞에서도 사용이 가능하다.
상태 코드별로 뷰 맵핑이 가능하다.
에외 종류별로 뷰 맵핑에 사용된다. servlet-context.xml에 등록한다.