'Struts2 Architecture'에 해당되는 글 1건

  1. 2008.12.22 [Struts2] Architecture

[Struts2] Architecture

|




























 
 
Struts2의 Architecture

































Architecture 흐름도(움직임)
 
①액션요청처리의 시작점은 FilterDispatcher(즉,Controller)이다
   1)요청(HttpServletRequest) => FilterDispatcher는 ActionMapper의 도움을 받아 보내진 요청이 스트럿
      츠2 액션을 위한 요청인지의 여부를 판단 => 액션요청으로 판단되면,
   2)FilterDispatcher은 ActionProxy(대행자)에게 제어권을 위임한다.
ActionProxy(대행자)는 ActionInvocation(실행자)생성.환경설정관리자를 참조한다.
   (환경설정관리자는 struts.xml를 통해 초기화)
ActionInvocation(실행자)는 Action실행전에 Interceptor호출.
   Action실행 후 반환시 적절한 Result실행. ActionInvocation은 struts.xml에 매핑되어 있는 ActionResult
   실행.Interceptor역순으로 반환.
④web.xml에 정의된 필터를 통해 응답(HttpServletResponse)이 반환된다.
ActionContextCleanUp(fillter)는 web.xml에 정의되어 있다.만약 이것이 정의되어 있지 않다면
   FilterDispatcher이 쓰레드 로컬을 비우지만, 정의되어 있을시 FilterDispatcher이 ThreadLocal
   ActionContext를 비우지 않는다.
   (즉,struts아키텍처 밖에 있다는 말: Sitemesh와 같은 Layout프레임워크인 경우 struts에서 처리된 결과
   값을  가지고 화면에 배치하는 프레임워크이다. 따라서 struts밖에 설정되어 있고 그 화면배치 처리 후
   Context를 청소하게 되는 것이다. *ActionContextCleanUp은 사이트 메쉬를 위한 것!필수사항은 아니
   다.)

Struts1 vs Struts2:환경설정파일 비교
①Struts1:struts-config.xml
   =>어떤 Action을 호출할 지 미리 로드 하고 있다.
②Struts2:struts.xml
   =>환경설정 파일 있지만, 미리 로드하지 않는다.
      ActionMapper가 FilterDispatcher가 어떤 Action을 호출할지 여부를 판단할 수 있도록 도움을 준다.
 
⊙Sitemesh(Layout Framework)
⊙AOP:여기서 Interceptor가 AOP, 즉 관점지향의 개념이다.
           예를 들어 '보안'이 필요한 곳이 생길때 마다 몽땅 코드를 넣는 것이 아니라, '횡적'인 방향으로
           '보안'이라는 개념적인 하나의 흐름을 만드는 것!

 


'JAVA/JSP > Struts2' 카테고리의 다른 글

[Struts2] StartingStruts2(pdf)  (0) 2008.12.22
[Struts2] 파일별 기본 역활과 개념  (0) 2008.12.22
[Struts2] struts.properties  (0) 2008.12.22
[Struts2] struts.xml 이란?  (0) 2008.12.22
[Struts2] web.xml설정과 위치  (0) 2008.12.22
And
prev | 1 | next