Struts2 Framework

스트럿츠2는 오픈심포니(OpenSymphony) 웹워크(WebWork)의 뛰어난 아키텍처와 아파치(Apache) 스트럿츠(Struts) 커뮤니티가 만나 탄생한 새로운 프레임워크이다. 스트럿츠2는 간결한 웹 애플리케이션 개발을 목적으로 하고 있다. 업무를 구현하는 것은 소스 코드를 생성하는 것 외에도 디버깅과 테스트 작업을 포함하고 있다. 개발이 간결하고 쉽다는 것은 코딩이 쉽다는 것뿐만 아니라, 디버깅과 테스트 역시 쉽다는 것을 의미한다. 이러한 환경을 개발자에게 제공하기 위해 프레임워크가 맡아야 할 책임은 더욱 커지게 된다.

 

웹워크 + 스트럿츠 = 스트럿츠2

 

 

Struts2 Framework의 특징

 

제로 컨피규레이션(Zero Configuration) 지향

  • 환경설정의 내용이 간단해짐.
  • 기본적인 설정파일을 제공함으로써 많은 양의 설정 내용을 줄여줌.
  • 기본 설정 정보 오버라이딩 가능.
  • 소스상에 어노테이션 삽입을 통해 설정 내용을 줄일 수 있음.
  • 와일드카드 매핑 지원.

 

신속한 리로딩

  • Struts1과는 달리 변경된 환경 설정 파일 및 리소스번들 파일의 내용은 웹컨테이너를 재구동하지 않아도 자동으로 리로드된다.

 

POJO 액션

  • 액션 클래스를 POJO클래스로 개발 가능하다.
  • 어떤 Java 클래스라도 execute() 메소드만 정의하면 Action클래스로 사용될 수 있다. 따라서, 프레임워크에 종속되지 않는 액션 개발이 가능하다.
  • 액션 개발시 IoC 사용 가능하다. 객체 간 의존성을 최소화 시킬 수 있다.
  • 단위 테스트가 용이하다.

 

POJO 폼

  • 파라미터 저장을 위한 목적의 ActionForm과 같은 클래스가 스트럿츠2에서는 사용되지 않는다.
  • 별도의 폼빈을 작성할 필요 없이 POJO클래스로 개발된 모델을 재사용할 수 있다.
  • 따라서, 모든 값들을 String 프로퍼티 형태로 사용하지 않아도 된다.

 

인터셉터

  • 요청을 중간에 가로채어 액션 실행 전과 실행 후에 실행될 수 있는 코드를 별도의 계층으로 작성 가능 하도록 한다.
  • AOP(Aspect Oriented Programming)과 같은 개념이 도입되었다.
  • 다양한 인터셉터를 지원한다.
  • 커스텀 인터셉터 작성이 가능하다.

 

태그 지원

  • 재사용 가능한 다양한 태그를 지원한다.
  • JSP페이지에서 태그를 사용함으로써 많은 양의 자바 코드를 줄일 수 있다.

 

편리한 Ajax 구현

  • Dojo프레임워크를 포함하고 있어 특별한 코드 없이 손쉽게 ajax애플리케이션 작성이 가능하다.

 

다양한 Result 타입 지원

  • JSP뿐만 아니라 FreeMarker, Velocity와 같은 다양한 형태의 View 작성이 가능하다.

 

DI(Dependency Injection) 지원

  • 의존성 주입을 이용하여 객체간의 의존성을 낮추어 개발이 가능하다.
  • Spring 프레임워크 연동도 가능하다.

 

다양한 플러그인 기능

  • 차트 출력(JFreeChart)
  • 리포트 출력(JasperReport)
  • 레이아웃 적용(Sitemesh, Tiles)
  • DI, AOP 지원(Spring)

'개발자 센터 > Struts2' 카테고리의 다른 글

struts2에서 세션(session) 사용하기  (0) 2009.12.14
Struts2 문자열 출력 예제  (0) 2009.12.11
Struts2 Action : 액션  (0) 2009.12.11
Struts2 Framework 아키텍처  (0) 2009.12.11
Struts2 Framework 환경설정 방법  (0) 2009.12.11
Posted by 피곤키오
,