실무자입장에서는 크게어필이 안될수도 있다
에러페이지를 설정했을 때의 장점
예외페이지를 설정하여 사용자 편의성을 증가시킬수 있다
- 실제로 만날 수 있는 프로젝트 내용 (신입개발자 실무)
에러 처리
: 에러 자체가 발생되지 않게 선처리(유효성 검사)
에러가 발생하더라도, 넘어갈수있게 (try-catch) 처리
vs
에러 페이지 설정
: 에러는 발생할수있다
1) 에러발생시, 왜 발생했는지
2) 어디로 가야하는지 안내
ex) 웹툰 유료회차 url에 직접넣었을경우
에러페이지 설정방법 2가지
@ 설정 방법
- @을 앞으로 사용할 예정이라고 xml에 등록해야함
- 복잡함 ( @으로 사용하려면 예외처리클래스를 1개이상 만들어야 함 )
- @ControllerAdvice ( 포인트컷 처리와 비슷함 )
- @ExceptionHandler ( 어떠한 요청에 대한 처리를 할때 씀 = Handler )
@ 설정이므로 DispatcherSevlet.xml에 작성해야한다
Namespaces의 mvc를 체크하여 등록해주고
@ 을 쓰기위해 등록해주는 모습이다
※ 어노테이션을 사용하기 위한 범위를 지정해 주어야하는데
기존 범위였던 com.kim.biz.controller에서 common패키지 안의 @을 읽을 수 있도록
범위를 biz까지 지정해 주었다
( Pointcut과 마찬가지로 common에서 관리하도록 한다 )
@ControllerAdvice ( 적용 범위 )
클래스를 객체화 해야 안의 메소드를 사용할 수 있는 것이기에
객체생성을 해주는 @ 이다. 인자로는 패키지 적용 범위를 설정한다
@ExceptionHandler ( 어떤에러인지 )
HandlerMapping의 ~~.do 요청을 반응한 것과 같이
NullPointerException의 요청에 반응하도록
어떠한 에러에 요청에 반응할 것인지 @의 input에 작성한다
에러내용 + 이동할 경로를 이용하기위해 ModelAndView 클래스 객체를 사용해준 모습이다
Xml 설정 방법
마찬가지로 DispatcherSevlet에 작성하며
1) Spring에서 제공하는 class를 객체화
2) exceptionMappings 주입 (Map 컬렉션)
Key 값
어떠한 에러요청에 대해 반응 할 것인지
인바디 값
어떠한 페이지로 보낼 것인지
에러페이지 설정 중 @ 설정과 xml설정을 확인해 보았는데
@ 설정은 별도의 예외처리 클래스를 만들어야 하는 반면
xml 설정이 간편하게 사용할 수 있었고
실무에서도 xml 설정으로 에러페이지 설정하는 것이 좀더 많을 것으로 예상된다
'Spring' 카테고리의 다른 글
[ 다국어 처리 ] Spring을 이용하여 표현 (0) | 2022.09.29 |
---|---|
[ 이미지 업로드 ] 간편하게 Spring으로 표현 (0) | 2022.09.28 |
[ 2-Layered 아키텍처 ] MVC2로 교체하기 (0) | 2022.09.27 |
[ MVC 패턴 ] Spring으로 표현하기 (3) (0) | 2022.09.23 |
[ MVC 패턴 ] Spring으로 표현하기 (2) (0) | 2022.09.21 |