Controller의 예외 처리
- @ExceptionHandler 와 @ControllerAdvice를 이용
- @ResponseEntity를 이용하는 예외 메시지 구성
@ControllerAdvice
이는 AOP를 이용합니다.
2019/05/03 - [웹/Spring] - AOP 개념
AOP를 사용하지 않는다면 컨트롤러를 만들어 줄 때마다 해당 에러처리를 중복적이고 많은 양의 코드를 작성해야합니다.
이를 방지하기위해서 AOP를 이용합니다.
우선 CommonExceptionAdvice 클래스를 작성합니다.
@ControllerAdvice
@Log4j
public class CommonExceptionAdvice{
@ExceptionHandler(Exception.class)
public String except(Exception ex, Model model){
model.addAttribute("exception",ex);
return "error_page";
}
}
익셉션헨들러로 익셉션클래스를 지정해줄 수 있습니다.
servlet-context.xml에다가 해당 익셉션을 스캔할 수 있도록
<context:component-scan base-package="org.xxxx.exception"/>
view에 error_page.jsp를 작성해야합니다. 받은 exception을 통해 작성하면 됩니다.
'웹 > Spring' 카테고리의 다른 글
Spring 이론(응용) - ORACLE 페이징처리 (0) | 2019.08.10 |
---|---|
Spring 이론(재) - 스프링 기본 구성 (0) | 2019.07.22 |
Spring 이론(재) - controller (0) | 2019.07.20 |
Spring 이론(재) - MVC구조 (0) | 2019.07.18 |
Spring 이론(재) - 특징과 의존성 주입 (0) | 2019.07.17 |