Sturts Framework 은 apache에 기증된 오픈소스 MVC기반 프레임웍

http://apache.org

Struts 1.3.10 버젼 다운~~

struts-1.3.10-all.zip

@ 모든 프레임웍은 응용프로그램이 아니므로 설치라는 개념이 없다.
  빌드의 개념은 있어도 설치과정은 필요없다
  빌드란? 원본소스로부터 컴파일 결과물을 얻는 과정


.zip
 --jar : 클래스파일들을 압축시켜 놓은 파일
 --war : 웹사이트(웹어플리케이션)을 압축시켜 놓은 파일


@ apps/struts-blank-1310.war 가장 기본적인 스트러츠의 웹 파일

위 파일을 워크스페이스의 특정 폴더에 압축 풀어서 넣자!!

struts-core.jar를 외부라이브러리로 등록!!

index.jsp, pages는 샘플이므로 지워도 된다


@ mapping 파일의 구조(struts-config.xml)

<struts-config>
- <form-beans> : 클라이언트의 파라미터 값들을 보관객체지정
- <global-exceptions> : 예외처리 담당할 객체 지정 ( 잘사용 x)
- <global-forwards> : 결과페이지를 담당할 자원 지정 ( 잘사용 x)
- <action-mapping> : 요청을 처리할 action 클래스 지정(가장 중요)

@ 요청의 갯수에 따라 액션의 수도 늘어난다

@ 아파치 사이트의 도큐먼테이션에서 DTDDoc는 xml에 관한 정보를 담고 있다.

<action path="" type="" redirect="">
path는 클라이언트의 요청 type은 요청을 처리할 Action 클래스 지정 redirect=리다이렉트 할지, 포워드를 할지

스트럿츠에서 단순링크는 action태그에 하위 요소가 없다

@ 스트럿츠 아키텍쳐(설계도)

클라이언트의 요청 -> ActionServlet - >
 RequestProcessor(실제 ActionServlet이 처리해야 할일을 담당) -> 대응되는 Action 류의 클래스


@ ActionForward 객체의 역활 :
 execute()가 수행된 이후, 결과페이지에 대한 정보를 보유한 객체
 우리가 만든 프레임웍에서는 결과페이지에 대한 반환형이 String형이었지만
 ,스트러츠의 창시자는 좀 더 자세한 처리를 위해 ActionForward라는 객체로 지원했다!

@ ActionMapping 객체의 역활 :
 struts-config.xml을 읽어들인 객체

@ ActionForm 객체의 역활 :
 클라이언트가 전송한 파라미터값을 보유한 객체. 자바빈즈와 엄청 유사하다.
 우리가 만든 프레임웍에서는 클라이언트의 파라미터값을 자동으로 넘겨받는 jsp 빈즈태그를
 사용할 수 없었다. 이유는 요청을 jsp가 아니라 서블릿이 받았기 때문이다.
 결국 mvc기반으로 개발하면 jsp빈즈태그와 같이 일괄적으로 파라미터를 넘겨받을 수 있는
 방법이 없게 된다. 이런 단점을 ActionForm객체가 해결해준다!!!
 즉 프로그래머가 별도로 코딩하지 않아도 ActionForm에는 파라미터값들이 들어와 있다!!


@ mapping.findForwards();
  //struts-config.xml에 <forward> 태그의 이름을 인자를 읽어들여,읽어들인 내용을
  //ActionForward에 담아 반환하는 메서드

Posted by Taoist
,