Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 제태크
- S&P500
- 접근제어자
- 금리인상
- 금리인하
- 현금흐름표
- 프로그래머스
- 백준
- 기업분석
- 인플레이션
- 알고리즘
- 다형성
- 잉여현금흐름
- 오버라이딩
- 객체지향
- 배당성장
- 무디스
- 그리디 알고리즘
- 미국주식
- XLF
- 주식
- 주린이
- Java
- StringBuffer
- javascript
- object
- FCF
- 자바
- etf
- mco
Archives
- Today
- Total
오늘의하루
[Spring] 필터와 인터셉터 본문
필터 : Servlet
흐름 : HTTP 요청 > WAS > 필터 > 디스패처 서블릿 > 컨트롤러
인터셉터 : SpringMVC
흐름 : HTTP 요청 > WAS > 필터 > 디스패처 서블릿 > 스프링 인터셉터 > 컨트롤러
참고 : 필터와 인터셉터는 두가지 모두다 체인이 가능하다.
체인이란? 여러개를 사용할 수 있다는 것이다.
예시1) HTTP 요청 > WAS > 필터1 > 필터2 > 필터3 > 디스패처 서블릿 > 컨트롤러
예시2) HTTP 요청 > WAS > 필터 > 디스패처 서블릿 > 인터셉터1 > 인터셉터2 > 인터셉터3 > 컨트롤러
인터셉터 간단히 알아보기
참고 : 인터셉터는 싱글톤으로 관리되기 때문에 지역변수의 사용을 유의해야한다.
preHandle
핸들러 어댑터를 호출하기 전에 실행된다.
반환값은 Boolean이며 true일 경우 핸들러 어댑터를 호출하여 컨트롤러를 호출한다.
false일 경우 핸들러 어댑터를 호출하지 않고 나머지 인터셉터도 호출하지 않는다.
PostHandle
컨트롤러 호출 후에 호출된다. (좀 더 정확히는 핸들러 어댑터 호출 후 호출된다.)
만약 컨트롤러에서 예외가 발생했다면 PostHandle은 호출되지 않는다.
afterCompletion
뷰가 렌더링 된 이후에 호출된다.
afterCompletion은 컨트롤러에서 예외가 발생하더라도 항상 호출된다.
매개변수로 Exception ex를 받기 때문에 무슨 예외인지도 알 수 있다.
한줄 정리 : 특별히 필터를 꼭 사용해야 하는 상황이 아니라면 인터셉터를 사용하는 것이 편리하다.
'Spring' 카테고리의 다른 글
Spring boot 오류 페이지 (0) | 2023.08.30 |
---|---|
Servlet의 예외 처리하는 방법 (0) | 2023.08.30 |
[Spring 검증] @ModelAttribute와 @RequestBody의 차이 (0) | 2023.08.28 |
Spring HandlerMapping & Adapter, ViewResolver (0) | 2023.08.23 |
Web Server, WAS, Servlet 정리 (0) | 2023.08.22 |
Comments