일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백준 1516 게임 개발
- 가장 긴 바이토닉 부분 수열 파이썬
- 백준 2146 다리 만들기
- 백준 1034 램프 파이썬
- 프로그래머스 베스트앨범
- 프로그래머스 등굣길
- 가장 긴 팰린드롬 파이썬
- 백준 1613 역사
- SQL SERVER MIGRATION
- 트리의 지름 파이썬
- 프로그래머스 순위 파이썬
- 베스트앨범 파이썬
- 등굣길 파이썬
- 백준 1167 트리의 지름 파이썬
- 프로그래머스 순위
- 순위 파이썬
- 다중 컬럼 NOT IN
- 프로그래머스 가장 긴 팰린드롬
- 역사 파이썬
- SWEA
- 백준 1043 거짓말 파이썬
- 반도체 설계 파이썬
- 램프 파이썬
- 다리 만들기 파이썬
- 백준 2352 반도체 설계 파이썬
- SQL SERVER 장비교체
- 게임 개발 파이썬
- 프로그래머스 여행경로
- 백준 11054.가장 긴 바이토닉 부분 수열
- 백준 1238 파티 파이썬
- Today
- Total
공부, 기록
Servlet, Filter, Interceptor, AOP 본문
Servlet : 클라이언트의 요청에 대한 결과를 리턴해주는 자바 웹 기술. 동적인 웹 페이지를 사용하기 위하여 필요한 기술.
Spring MVC 모델에서 Controller가 Servlet의 역할을 수행.
Filter와 Interceptor, AOP는 프로젝트에서 보통 공통으로 사용되는 부분(인증처리, 보안 처리 등)들을 처리하는 데 사용되는 요소.
공통점으로는 어떠한 행동을 수행하기 전 먼저 실행되거나 실행 후 추가적인 행동을 위한 기능.
각각 요소의 기능과 차이점은 다음과 같다.
Filter : Dispatcher Servlet 전에 수행.
실행 위치 : Servlet
설정 위치 : web.xml
실행 메소드
init() - 필터 인스턴스 초기화
doFilter() - 실제 처리 로직
destroy() - 필터 인스턴스 종료
Interceptor : Controller 호출 전, 후에 사용 @Bean에 접근이 가능.
전처리와 후처리는 preHandler, postHandler 로 나누어 처리한다.
실행 위치 : Servlet
설정 위치 : xml or java
실행 메소드
preHandler() - Controller 실행 전
postHandler() - Controller 실행 후 View Rendering 실행 전
afterCompletion() - View Rendering 이후
AOP(Aspect-Oriented Programing) : Controller 처리 이후 비지니스 로직에서 사용
주로 메소드 성능 검사, 트랜잭션 처리, 예외 반환 등에서 사용.
실행 위치 : Method
설정 위치 : xml or java
사용 어노테이션
@Before - 대상 메소드의 실행 전 사용
@After - 대상 메소드의 실행 후 사용
@After-returning - 대상 메소드가 정상적으로 수행된 후 사용
@After-throwing - 예외 반환 후 사용
@Around - 대상 메소드의 수행 전, 후에 사용
참조 :
https://javawork.tistory.com/entry/Spring-Filter-Interceptor-AOP
https://velog.io/@sa833591/Spring-Filter-Interceptor-AOP-%EC%B0%A8%EC%9D%B4-yvmv4k96
'공부 > 소소한 개발' 카테고리의 다른 글
객체지향의 5원칙 (0) | 2021.10.04 |
---|---|
Java Object class, equals, Hash Code (0) | 2021.09.19 |
Spring Web MVC (0) | 2021.09.12 |
카프카 다중 컨슈머 설정 (multi kafka consumer config) (0) | 2021.09.04 |
GET POST PUT DELETE OPTION PATCH (0) | 2021.09.04 |