스트럿츠 2가 나와 간단한 예제를 구현해 보았습니다.
그전에 스트럿츠 2의 개요를 보도록 하겠습니다.
출처 : http://tong.nate.com/weehokyu/43122351
역사
Struts1은 2000년에 등장하여 MVC 프레임워크의 표준이 되다시피 했습니다.
그러나 시간이 흐르면서 웹 애플리케이션의 요구사항이 다양해지면서 다양한 MVC 프레임워크 Spring MVC, WebWork, 태피스트리 등이 등장함에 따라 Struts1을 변경할 필요성을 느꼇습니다. Struts1 개발자들은 OpenSymphony의 WebWork 개발자들과 진보된 MVC 프레임워크를 위해 아이디어를 모았습니다.
마침내 두 프로젝트가 합병되어 Struts2가 발표되었습니다. Struts2는 WebWork2와 합병되면서 내부아키텍쳐가 완전히 달라졌습니다. 서블릿 방식에서 필터와 인터셉터 기반의 WebWork2의 아키텍쳐를 그대로 적용함으로써 유연한 프레임워크로 발전하게 되었습니다.
특징
아키텍쳐
서블릿 방식에서 필터 방식으로 바뀌면서 Filter Dispatcher가 요청에 따라 적절한 액션을 수행합니다. 액션을 수행하기 전 후로 다양한 Interceptor들이 수행되며 최종 결과값이 다양한 형태 HTML,PDF, 이미지, 등으로 응답되어 집니다.
POJO 액션
더이상 ServletAPI에 의존적이지 않습니다. Action 클래스를 상속받을 필요도 없이 POJO 클래스가 액션 클래스가 될 수 있습니다. 따라서 테스트가 한결 쉬워졌습니다.
Interceptor
액션이 수행되기 전 후로 다양한 Interceptor가 지원 됩니다. 대표적으로 파라미터를 자동으로 세팅해주거나 퍼포먼스를 측정하거나 로깅을 해주는 Interceptor가 있습니다. Intercpetor는 몇줄의 설정으로 사용할 수 있습니다.
태그
Struts2의 태그들은 테마와 템플릿을 사용하여 높은 수준의 사용자 인터페이스를 적은 라인으로 생성할 수 있습니다. 또한 AJAX지원 태그를 이용해 별도의 작업없이 AJAX를 구현할 수 있습니다.
Plug-In
다양한 Plug-In 지원으로 뷰관련 프레임워크인 JFreeChart, JasperReport, Sitemesh, 등등.. 과 의존성 주입을 위한 Spring같은 프레임워크를 손쉽게 통합할 수 있습니다.
설정
제로 컨피규레이션 지향으로 기본으로 제공되는 설정값들로 대부분의 설정을 생략할 수 있습니다. 또한 와일드카드 매핑, 애노테이션 지원으로 설정을 대폭 줄일 수 있습니다.
그전에 스트럿츠 2의 개요를 보도록 하겠습니다.
출처 : http://tong.nate.com/weehokyu/43122351
역사
Struts1은 2000년에 등장하여 MVC 프레임워크의 표준이 되다시피 했습니다.
그러나 시간이 흐르면서 웹 애플리케이션의 요구사항이 다양해지면서 다양한 MVC 프레임워크 Spring MVC, WebWork, 태피스트리 등이 등장함에 따라 Struts1을 변경할 필요성을 느꼇습니다. Struts1 개발자들은 OpenSymphony의 WebWork 개발자들과 진보된 MVC 프레임워크를 위해 아이디어를 모았습니다.
마침내 두 프로젝트가 합병되어 Struts2가 발표되었습니다. Struts2는 WebWork2와 합병되면서 내부아키텍쳐가 완전히 달라졌습니다. 서블릿 방식에서 필터와 인터셉터 기반의 WebWork2의 아키텍쳐를 그대로 적용함으로써 유연한 프레임워크로 발전하게 되었습니다.
특징
아키텍쳐
서블릿 방식에서 필터 방식으로 바뀌면서 Filter Dispatcher가 요청에 따라 적절한 액션을 수행합니다. 액션을 수행하기 전 후로 다양한 Interceptor들이 수행되며 최종 결과값이 다양한 형태 HTML,PDF, 이미지, 등으로 응답되어 집니다.
POJO 액션
더이상 ServletAPI에 의존적이지 않습니다. Action 클래스를 상속받을 필요도 없이 POJO 클래스가 액션 클래스가 될 수 있습니다. 따라서 테스트가 한결 쉬워졌습니다.
Interceptor
액션이 수행되기 전 후로 다양한 Interceptor가 지원 됩니다. 대표적으로 파라미터를 자동으로 세팅해주거나 퍼포먼스를 측정하거나 로깅을 해주는 Interceptor가 있습니다. Intercpetor는 몇줄의 설정으로 사용할 수 있습니다.
태그
Struts2의 태그들은 테마와 템플릿을 사용하여 높은 수준의 사용자 인터페이스를 적은 라인으로 생성할 수 있습니다. 또한 AJAX지원 태그를 이용해 별도의 작업없이 AJAX를 구현할 수 있습니다.
Plug-In
다양한 Plug-In 지원으로 뷰관련 프레임워크인 JFreeChart, JasperReport, Sitemesh, 등등.. 과 의존성 주입을 위한 Spring같은 프레임워크를 손쉽게 통합할 수 있습니다.
설정
제로 컨피규레이션 지향으로 기본으로 제공되는 설정값들로 대부분의 설정을 생략할 수 있습니다. 또한 와일드카드 매핑, 애노테이션 지원으로 설정을 대폭 줄일 수 있습니다.
[100%환급,실무전문]SQL/빅데이터/자바/스프링/웹퍼블리싱/안드… | 12-27 | 2878 | ||
[채용확정무료교육]오라클자바개발잘하는신입뽑기2개월과정,교육… | 12-11 | 2098 | ||
53 | [평일100%환급7건]웹퍼블리싱,자바&JSP,안드로이드,C#닷넷,SQL기… | 03-15 | 1955 | |
52 | [주말]C#,ASP.NET마스터 | 01-31 | 2093 | |
51 | [기업100%환급,평일주간]SQL기초에서스키마오브젝트,PLSQL,힌트… | 01-31 | 3063 | |
50 | [주말주간]자바&웹,jQUERY,스프링프레임워크,마이바티스 | 01-31 | 1617 | |
49 | [평일주간/야간,주말주간/야간]Spring,MyBatis,Hibernate개발자… | 01-19 | 1941 | |
48 | [평일주간/야간,주말주간/야간]안드로이드개발자과정(Adnroid 교… | 01-11 | 1808 | |
47 | [평일야간,주말주간야간]JAVA,Network&JSP&Spring,MyBatis,Hiber… | 01-03 | 2414 | |
46 | [100%환급,실무전문]SQL/빅데이터/자바/스프링/웹퍼블리싱/안드… | 12-27 | 2878 | |
45 | [주말야간]개발자를위한PLSQL,SQL튜닝,힌트(토/일) | 12-19 | 2021 | |
44 | [평일주간/야간,주말주간/야간]웹퍼블리싱 마스터(HTML5,CSS3,jQ… | 12-14 | 1988 | |
43 | [채용확정무료교육]오라클자바개발잘하는신입뽑기2개월과정,교육… | 12-11 | 2098 | |
42 | [주말야간]JAVA,JSP,Spring,PLSQL,힌트,웹퍼블리싱,안드로이드,… | 12-09 | 1632 | |
41 | [평일야간,주말야간]닷넷(C#,Network,ADO.NET,ASP.NET)마스터 | 12-01 | 1853 | |
40 | [기업100%환급]오라클&자바웹스프링신입과정3주(SQL,JAVA,JSP,Se… | 12-01 | 2098 | |
39 | [평일야간,주말]SQL기초에서실무까지(SQL기초,PLSQL,힌트,튜닝) | 12-01 | 1505 |
댓글 없음:
댓글 쓰기