-
스트럿츠2 - 인터셉터웹프로그래밍/struts 2018. 5. 29. 22:02
An
ActionInvocation
represents the execution state of anAction
. It holds the Interceptors and the Action instance. By repeated re-entrant execution of theinvoke()
method, initially by theActionProxy
, then by the Interceptors, the Interceptors are all executed, and then theAction
and theResult
.The ActionContext is the context in which an
Action
is executed. Each context is basically a container of objects an action needs for execution like the session, parameters, locale, etc.액션 단위의 작업을 수행할 때 기존 액션 처리 전과 후에 추가적인 작업을 지원
하여 위한 방법을 제공한다. 이것이 인터셉터 (Interceptor)이다.
액션 인보케이션은 인터솁터 스택에 정의된 인터셉터로 구성된 맵을 가지고 있다.
액션 프록시가 액션 인보케이션의 invoke() 메소드를 호출 할 때 인터솁터의 실행이 시작된다.
액션 인보케이션의 invoke() 메소드 내에서 인터솁터 스택에 정의된 인터솁 터의 맵에서 실행할 다음 인터셉터가 존재한다면, 인터솁터의 interceptor() 메소드를 호출한다. 각 interceptor() 메소드는 실행을 마친 후, 반환되기 전 에 액션 인보케이션의 invoke() 메소드를 다시 호출한다. 따라서 다시 호출된 액션 인보케이션의 invoke() 메소드는 실행할 추가 인터솁터가 존재하는지 조 사한 후 실행할 인터셉터가 존재한다면, 그 인터솁터의 interceptor() 메소드 를 호출하는 식으로 인터솁터 체인을 형성한다. 만약 더 실행할 인터셉터가 존 재하지 않는다면, 액션을 호출한 후 리절트를 실행한다.
인터셉터는 특정 액션의 수행 전과 후에 특정 작업을 추가할 수 있다. 심지어 액션의 실행을 막을 수도 있다.
인터셉터를 이용하여 하나 이상의 액션에 적용되는 공통 기능을 재사용 가능한 형태로 캡슐화 할 수 있다.
-struts-default.xml 파일에서 인터셉터에 관한 부분
'웹프로그래밍 > struts' 카테고리의 다른 글
스트럿츠2 - valueStack과 ModelDriven, Preparable 인터페이스 구현 (0) 2018.06.04 스트럿츠2 - 파일 입출력 (0) 2018.05.30 스트럿츠2 - 인터셉터로 세션 로그인 체크 (0) 2018.05.30 스트럿츠2 - 세션 로그인 설정 (0) 2018.05.29