'struts'에 해당되는 글 2건


스트럿츠는 MVC 모델을 지원하는 다른 어떤 웹 애플리케이션 프레임워크보다도 뛰어난 컨트롤러를 제공한다. 우선 개발자에게 드러나는 스트럿츠의 컨트롤러는 ActionServlet, RequestProcessor, Action, ActionForm을 들 수 있고 이들 사이의 제어의 흐름을 이해하는 것이 스트럿츠를 이해하는데 가장 중요한 요소라고 할 수 있다.



—  ActionServlet

       웹 클라이언트의 요청을 직접 받는 창구 역할

       웹 클라이언트의 요청을 처리해줄 RequestProcessor를    찾아 요청을 전달 


—  RequestProcessor

       ActionForm을 생성하고 요청 파라미터를 ActionForm에 저장

       요청 URL에 따라 Action을 선택하여 실행

       Action이 반환환 ActionForward 정보를 이용해서 View 선택하고 실행


—  Action

       요청을 처리하기 위해 Model 영역의 Business Service Object을 이용

       수행 결과를 ActionForm  또는 DTO 저장

       이동할 View 정보를 가지고 있는 ActionForward를 RequestProcessor로 반환 

   ActionForm

       웹 클라이언트의 입력 데이터를 사용자와 비즈니스 계층들  사이로 전달한다.

       Action 인스턴스에 폼 빈(form bean)을  통해서 입력한 값들을 전달할 수 있다.

       ActionForm을 비즈니스 계층으로 직접 전달하는거 보다는 적절한 DTO를 생성하는게 좋다. 

'FrameWork' 카테고리의 다른 글

Struts 자동가입방지 simplecaptcha 사용하기  (0) 2018.10.20
ActionServlet의 동작방식  (0) 2018.10.20
스트럿츠(Struts) 소개  (0) 2018.10.20
MVC 디자인 패턴  (0) 2018.10.20
DTO 란?  (0) 2015.12.10
블로그 이미지

클라인STR

,

스트럿츠는 크레이그 맥클레너헌(Graig R.McClanahan)에 의해 개발되어 2000 ASF(The Apache Software Foundation)에 기증되면서 아파치 프로젝트의 일부로 진행되고 있는 MVC 모델2에 기반한 웹 프레임워크이다. 아파치 자바 솔루션 프로젝트인 자카르타 프로젝트(Jakarta Project)의 일부로 있다가 지금은 별도 프로젝트로 독립하여 많은 개발자들이 자발적으로 스트럿츠의 개선을 위해 노력하고 있다.

 

스트럿츠는 Model View를 연결해 주기 위한 잘 디자인되고 유연한 서블릿 기반의 컨트롤러를 제공한다. 스트럿츠의 컨트롤러는 클라이언트의 요청을 받아 요청을 수행하기 위한 Model 영역의 비즈니스 로직을 호출하고 수행 결과에 따라 View 영역의 JSP를 선택하여 포워드하는 역할을 한다. 그래서 스트럿츠는 View 영역보다는 Controller 영역에 좀 더 초점을 맞추고 있는 프레임워크이다.

 

Model 영역에서 어떤 기술을 사용해 비즈니스 로직을 수행하든 스트럿츠는 간섭하지 않는다. JDBC, EJB, Hibernate, iBTAIS등 어떤 기술이든 스트럿츠와 함께 사용하는데 아무런 제약이 없다. 스트럿츠는 View 영역에서 프레젠테이션 로직을 구현하기 위해 JSP에서 사용할 수 있는 유용한 태그 라이브러리를 제공한다.

 

스트럿츠 기반의 웹 애플리케이션에서는 프레젠테이션 로직의 구현을 위해 스트럿츠 태그 라이브러리 이외에도 JSTL(Java Standard Tag Library)을 활용할 수 있다. JSTL은 어떤 JSP/Servlet 컨테이너에서 어떤 자바 웹 프레임워크를 사용하든 관계없이 표준적인 태그 라이브러리를 제공하기 위한 목적으로 만들어졌다. 따라서 JSTL의 많은 태그들이 스트럿츠 태그 라이브러리의 태그들과 많이 중복된다. 중복되는 태그들은 JSTL 태그를 사용하는 것이 보다 권장된다.

 

스트럿츠는 MVC 모델2 아키텍처의 웹 애플리케이션을 위한 사실상의 표준 프레임워크라고 해도 과언이 아니다. 많은 솔루션 업체들이 자신들의 프레임워크를 제작할 때 스트럿츠 기반하에서 이를 확장하는 방식을 채택하고 있으며, 수많은 웹 애플리케이션이 스트럿츠 기반으로 작성되고 있다.

 

스트럿츠 홈페이지(http://struts.apache.org)를 방문하면 많은 참고 문서를 조회할 수 있으며, 최신 버전의 스트럿츠 설치 파일을 다운로드 받을 수 있다. 현재 스트럿츠 2.x 버전과 1.x 버전을 동시에 내놓고 있다. 2.x 버전은 WebWork2 프레임워크를 내부적으로 채택한 버전이다. WebWork2는 인터셉터(Intercepter), IoC(Inversion of Control)등의 기능을 가지고 있다. 현재 현업에서 가장 많이 사용되는 버전은 1.x 버전으로 1.x 버전과 2.x 버전은 호환되지 않는다. 


참초: 인터넷 , 자카르타 스트러츠 프로그래밍(한빛미디어)



'FrameWork' 카테고리의 다른 글

ActionServlet의 동작방식  (0) 2018.10.20
스트럿츠 프레임워크 구조  (0) 2018.10.20
MVC 디자인 패턴  (0) 2018.10.20
DTO 란?  (0) 2015.12.10
프레임워크(Framework)와 라이브러리  (0) 2015.12.10
블로그 이미지

클라인STR

,