.
struts2
최근의 자바기술은 좀더 단순하고 쉬운 개발 중심으로
생산성과 유지보수를 고려하고, POJO(plain old java Object)기반의 개발,
다양한 오픈소스가 출현, 프레임워크의 연동 등 많은 변화를 꾀하고 있다.

 POJO : Simple, Independent of Framework

대표적인 웹 어플리케이션 개발 프레임워크는 스트러츠로서 웹개발의 가이드 역할을 하고있다.
장점으로 Mvc패턴적용, xml기반의 환경 설정, 태그 라이브러리지원 등 많은 요소를 제공한다.

스트러츠의 단점은 POJO기반이 아니고(프레임워크에 종속된 프레임워크 객체), 테스트가 용이하지 못하고, 버젼업에 따른 환경설정 모호함, ActionForm의 불편함(비즈니스객체가 아니므로 코드량 증가, 개발의 장애), 태그 라이브러리의 미숙한 지원 등이 있다

이런가운데 등장한 스트러츠2는 웹워크의 단순함, 세련미, 개발 툴 친화성의 장점과 스트러츠1을 결합했다

 웹워크의 뛰어난 아키텍쳐 + 스트러츠2의 거대 커뮤니티

스트러츠2란
자바기반의 웹 어플리케이션 개발 프레임워크로서 단순한 pojo기반으로, 단순하고, 편리한 개발 환경 제공에 대한 배려, 다양한 선택가능(디폴트값, 커스터마이징(인터셉터, 액션매퍼), 인터셉터, 스트러츠2 태그, jstl, 여러가지 형태의 뷰지원, 다른기술과의 쉬운 결합(플러그인) ), 발전된 다양한 기술 활용 및 기술 통합의 용이성과 커맨드 패턴, 의존성 주입, 인터셉터, 액션컨텍스트

 세련미 : 개발자를 위한 배려

스트러츠2 특징
완전히 새로운 프레임워크로서 스트러츠1과는 다른 웹워크2의 MVC 아키텍쳐 채용했다.
POJO기반의 액션(Action)으로 직관적인 개발을 제공하며, 제로 컨피규레이션을 지향, 변경된 환경 설정 파일의 내용을 웹 컨테이너 재시작없이 리로드하고, POJO액션, POJO폼은 프레임워크에 종속되지 않고 Mock객체에 의존하지 않고 손쉽게 테스트가능하고, 별도의 폼 빈이 필요없다.

.