- 스트럿츠2는 mvc 디자인 패턴을 기본으로하는 인기있고 오래 사용된 웹 어플리케이션 프레임 워크다.
- 스트럿츠2는 스트럿츠1의 다음 버전이 아니다. 그러나 스트러츠2는 완전히 새로 스트럿츠 프레임워크를 완전히 새로 썼다.
- WebWork FrameWork + Struts frameWork = Struts2 FrameWork.
: 완전히 더해서 나왔다는 뜻은 아니고 두개가 서로 힘을 합쳐 만들어 냈다..
- 태그 지원, Ajax 지원, 다른 프레임워크와 결합이 쉬움, Template 지원 등등
- 단점
: 초보자가 배우기엔 난이도가 있다.
: 문서가 별로 없다. jsp나 servlet에 비교하면 스트럿츠는 온라인에만 리소스가 몇개 있는 정도다.
그래서 초보자는 온라인 아파치 문서를 찾는다.
: 프레임워크를 이해하는데 어렵다..
- Struts1.X와 비교했을 때 가장 큰 특징이느 ServletApi가 없다는 것이며 이로 인해 웹이 아닌 곳에서도 사용이 가능한 일반 클래스인데, 결국 POJO빈을 이용하여 쉽고 유연한 개발이 가능해 졌다는 것이다.
예를 들면 HTML 폼 데이터를 특정 자바 클래스로 Submit 시키는 데 이 자바 클래스를 Action이라 부르는 것이다.
또한 화면에서 msg에 대한 접근을 getter 메소드를 이용해서 하게 된다.
- Request initaion [httpServletRequst]
: 리퀘스트는 유저의 웹 브라우저에서 시작하고 끝난다.
( : 리퀘스트는 Url의 Form안에 있다. 액션을 나타낸다.)
- 유저의 요청은 필터체인을 통해서 전달된다. 이 필터체인은 액츄얼한 결정을 생성합니다. 요청한 필터디스패처를 호출하여
- Struts2 Servlet Filter [FilterDispatcher]
: 필터디스패처은 스트럿츠2에서 컨트롤러입니다.
: 필터디스패치는 요청에 맞은 액션을 결정해 줍니다.
: 필터디스패쳐는 호출되는 동안에 액션 맵퍼와 상의합니다. 결정하기 위해서, 요청이 액션을 호출했다면
: 프레임 워크는 모든컨트롤러를 다룹니다. 프레임워크는 정보(request Url과 map된 액션 정보)가 필요합니다. 이 정보는 [struts.xml]을 사용하는 프레임 워크에 전달 됩니다.
ActionMapper
: 액션 매퍼는 액션을 호출해야합니다. 필터 디스패처가 액션 프록시에게 컨트롤을 위임했다면
ActionProxy
: 액션 프록시는 프레임워크 [sturts.xml]과 상의?(이야기합니다) 그리고 요청처리한 수행 결과 정보를 갖고 있습니다...
맞나 어려워ㅠ ㅠ
출처 :
http://zion437.tistory.com/161
http://www.tutorialspoint.com/struts_2/struts_overview.htm
Request life cycle
Based on the above digram, one can explain the user's request life cycle in Struts 2 as follows:
-
User sends a request to the server for requesting for some resource (i.e pages).
-
The FilterDispatcher looks at the request and then determines the appropriate Action.
-
Configured interceptors functionalities applies such as validation, file upload etc.
-
Selected action is executed to perform the requested operation.
-
Again, configured interceptors are applied to do any post-processing if required.
-
Finally the result is prepared by the view and returns the result to the user.
댓글