본문 바로가기

인터셉터3

실행 흐름에 끼어들기(Filter,Interceptor,AOP) 3 - AOP 실행 흐르에 끼어들기 마지막으로 AOP(Aspect Oriented Programming) 관점 지향 프로그래밍 입니다. 웹프로그램에서 하나의 요청의 실행 단계를 보면 공통적인 부분들이 존재합니다. 각 요청을 처리하는 비지니스 로직은 요청 마다 다르겠지만, 요청의 끝에서 작업 로그를 기록한다던지, 데이터베이스 트랜잭션을 요청의 앞에서 시작하고, 끝에서 커밋 또는 롤백을 한다던지 하는 코드 들이 있습니다. 이런 코드들은 모든 프로그램에 반복적으로 나타나게 됩니다. AOP 에서 이런 반복적으로 나오는 부분이 아래 이미지 에서 처럼 프로그램을 횡단하는 곳에 공통적인 코드가 나타난다고 해서 횡단적 관심사(Cross-cutting concern)라고 합니다. PGM1 PGM2 PGM3 +-----+ +-----+.. 2018. 4. 2.
실행 흐름에 끼어들기(Filter,Interceptor,AOP) 2 - Interceptor Java 웹프로그래밍에서 실행 흐를에 끼어들 수 있는 방법에 대해 알아보고 있습니다. 앞의 글에서 서블릿 필터에 대해 알아 봤습니다. 이번에는 스프링 프레임웍에서 사용할 수 있는 인터셉터에 대해서 알아보겠습니다. 필터와 인터셉터는 적용 시점이 다릅니다. 필터는 스프링 프레임웍과는 무관하게 지정된 자원에 대해 동작합니다. 스프링은 Dispatcher 서블릿으로 부터 시작됨으로 필터는 스프링 컨텍스트의 바깥에 존재 하게 됩니다. 인터셉터는 스프링의 Dispatcher 서블릿이 컨트롤러를 호출할 때 전, 후에 끼어듭니다. 그러므로 스프링 컨텍스트 내부에 존재하게 됩니다. 인터셉터는 여러개를 사용할 수 있으며, 실행 순서는 에 나오는 순서 입니다. 인터셉터를 주로 사용하는 곳은 로그인 체크, 권한 체크, 프로그.. 2018. 4. 2.
실행 흐름에 끼어들기(Filter,Interceptor,AOP) 1 - Servlet Filter Java 웹 프로그래밍에서 프로그램 흐름의 앞이나 뒤에 공통적인 처리를 추가할 수 있는 방법이 있습니다. 서블릿에서 지원하는 서블릿 필터와 스프링 프레임웍을 사용하면 쓸 수 있는 인터셉터, AOP 가 있습니다. 먼저 Servlet Filter에 대해 알아 봅니다. Servlet Filter 는 Servlet Specification 2.3 부터 지원합니다. 필터가 동작하도록 지정된 자원의 앞단에서 요청 내용을 변경하거나 여러가지 체크를 수행할 수 있습니다. 또한 자원의 처리가 끝난 후 응답 내용에 대해서도 변경하는 처리를 할 수 있습니다. 1. web.xml 에서 필터를 등록합니다. /WEB-INF/web.xml 파일 입니다. firstFilter com.tistory.pentode.filter.Firs.. 2018. 4. 2.