[Spring]exception-handler

내용
SimpleMappingExcetionResolver
@ExceptionHandler
진행일시
2021/03/28
속성

1. Exception의 분류

1. SimpleMappingExceptionResolver : 컨텍스트에서 발생한 예외를 카테고리별로 매핑할수있다 (전역)

2.@ExceptionHandler : 어노테이션을 이용하여 예외를 매핑할 수 있다.(클래스별)

2. SimpleMappingExceptionResolver를 이용한 방식

1.
500번 오류를 띄우기위해 미리 nullPointerException을 만든다
2.
root-context.xml로가서 SimpleMappingExceptionResolver를 이용해 bean을 생성한다
3.
property name="exceptionMappings"로 매핑한다
4.
prop ket값에 NullPointerException에 풀 클래스를 작성하고 views페이지가 같은 오류를 만났을때 error/nullPointer라는 jsp화면을 띄우게한다.
5.
error폴더에 nullPointer.jsp에 만들고 거기에다가원하는에러메시지를 작성한다.

3.사용자 정의 Exception

1.
MemberRegistException클래스를 만들고 Exception을 상속받는다
2.
기본생성자를 통하여 매개변수에 msg를 담고 부모의 super(msg)을 가져온다
3.
GetMapping을 통해 값을 받아오며 MemberRegistExceptio에 대한 오류를 던져주고 메인화면으로 뷰를 호출한다.
4.
root-context.xml에 property를 이용해 key value값으로 exceptionMessage를 설정한다
5.
throws new MemberRegistException에 설정한 메시지를 requestScope.exception.message로 끄내거나 exceptionMessage로 끄낼수있다.

4.@ExceptionHandler : 어노테이션을 이용하여 예외를 매핑할 수 있다.(클래스별)

1.
어노테이션을 주고 그옆에 해당되는 오류의클래스를 선언해준다
2.
핸들러메소드에 매개변수는 해당오류이름과 exception으로 설정하고 return으로 error페이지로 return한다.
3.
또한 Model model을 매개변수로 주고 model에 값을넣어줘서 에러메시지를 반환할 수 도있다.