스트럿츠는 크레이그 맥클레너헌(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

,