예외처리
- @RequestMapping 메서드는 모든 타입의 예외를 발생시킬 수 있다.
- 예외를 발생시킬 경우 웹 브라우저는 500 응답코드와 함께 서블릿 컨테이너가 출력한 에러 페이지가 출력된다.
- 예외 타입에 따라 스프링 MVC와 연동된 뷰를 이용해서 에러 페이지를 출력할 수 있다.
- 예외 발생시 사용자에게 보여줄 특정 페이지를 만들어 출력한다. (공통의 예외를 한 페이지에서 처리 가능)
처리 방법
- @ExceptionHandler 어노테이션을 이용한 예외처리
- @ExceptionHandler 메소드를 만든 Controller 영역에서만 유효함
@ExceptionHandler(ArrayIndexOutOfBoundsException.class)
public String arithmetic(ArrayIndexOutOfBoundsException e) {
System.out.println("ArrayIndexOutOfBoundsException 실행: " + e);
return "array"; // 오류가 나면 보여줄 페이지
}
- SimpleMappingExceptionResolver 클래스를 이용한 예외처리
- xml 문서에서 설정함 (오류 종류에 따라 다른 페이지 이동)
<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<property name="exceptionMappings">
<props>
<prop key="java.lang.ArithmeticException"> <!-- 이동할 뷰 -->
exception
</prop>
</props>
</property>
</bean>
'TIL > BackEnd' 카테고리의 다른 글
JPA - Oracle 데이터베이스 생성 (0) | 2023.05.08 |
---|---|
Transaction (0) | 2023.05.04 |
@Autowired와 @Value를 통한 주입의 차이 (0) | 2023.04.26 |
[Spring] IoC & DI (0) | 2023.04.25 |
[Spring] Spring Framework 기초 (0) | 2023.04.24 |