struts-config.xml로 검색한 결과 :: 시소커뮤니티[SSISO Community]
 
SSISO 카페 SSISO Source SSISO 구직 SSISO 쇼핑몰 SSISO 맛집
추천검색어 : JUnit   Log4j   ajax   spring   struts   struts-config.xml   Synchronized   책정보   Ajax 마스터하기   우측부분

회원가입 I 비밀번호 찾기


SSISO Community검색
SSISO Community메뉴
[카페목록보기]
[블로그등록하기]  
[블로그리스트]  
SSISO Community카페
블로그 카테고리
정치 경제
문화 칼럼
비디오게임 스포츠
핫이슈 TV
포토 온라인게임
PC게임 에뮬게임
라이프 사람들
유머 만화애니
방송 1
1 1
1 1
1 1
1 1
1

struts-config.xml로 검색한 결과
등록일:2008-03-21 09:44:45
작성자:
제목:Chapter 8~10. 스트럿츠 컨트롤러


Chapter 8. 스트럿츠에서의 컨트롤러

ActionServlet

: 웹어플리케이션이 초기화될 때 외부설정파일(struts-config.xml)을 읽어들여 ModuleConfig 객체를 생성한다.

: 사용자의 요청이 있을 때마다 이를 가로채 ModuleConfig 객체를 검색하여 모듈별로 정의된 RequestProcessor 에 처리를 위임.

RequestProcessor 의 사용자 요청처리절차

- RequestProcessor는 요청 경로에 따라 ActionMapping 을 조회

- RequestProcessor는 ActionMapping 에 정의된 ActionForm을 생성하고 사용자의 요청과 함께 전달된 파라메터를 저장

- RequestProcessor는 ActionMapping 에 정의된 Action 의 execute() 메서드를 호출하고 이때 ActionForm을 파라메터로 전달한다.

- Action 은 ActionForm 에 저장된 파라메터에 따라 모델계층에 사용자가 요청한 작업을 하도록 의뢰

- Action 은 모델계층의 수행결과에 따라 Action Mapping 에 정의된 ActionForward 를 찾아 반환

- RequestProcessor는 Action에서 반환된 ActionForward 의 수행결과에 따라 뷰계층을 호출.

Chapter 9. ActionServlet, RequestProcessor

ActionServlet

: 사용자의 요청을 받는 단일 진입점의 역할, 모든 클라이언트의 요청이 ActionServlet 을 거친다.

: web.xml, struts-config.xml 파일 설정에 따라 모듈별로 정의된 RequestProcessor 의 인스턴스를 생성하고, process() 메소드 호출.

: Struts 1.1 이후로는 ActionServlet은 설정파일의 초기화를 담당하고 RequestProcessor 가 컨트롤의 역할.

1) ActionServlet 의 초기화

: ActionServlet 이 수행하는 대부분의 처리는 서블릿 컨테이너가 init() 메소드를 호출할 때 발생

- 내부초기화 작업

- web.xml 에 설정된 서블릿 초기화 파라메터 조회

- web.xml 파일로부터 servlet-mapping 을 조회, struts-html 의 form 태그에서 정확한 URL을 구할 수 있다.

- default module 정보를 조회 : 일반적으로 struts-config.xml 이다.

- 모듈에 정의된 리소스를 초기화하여 ServletContext 에 저장하고, 데이터소스, 플러그인 초기화

- 추가모듈정보가 있다면 디폴트모듈과 동일하게 초기화.

2) RequestProcessor 의 요청 처리 절차

: 최초조회시 생성되어 ServletContext에 저장되고, 다음부터는 재활용됨.

: ActionServlet 이 조회된 RequestProcessor 의 process() 메서드를 호출하면 다음 처리절차를 거친다.

- HTTP 요청이 multi-part/form-data 형식으로 POST 된 경우 HttpServletRequest 를 대치하는 새로운 요청래퍼를 생성.

- 요청 URL을 분석하여 ActionMapping 에 사용할 path 값을 추출

- Locale 정보를 설정하여 세션에 저장. struts-config.xml 파일의 요소의 locale 속성이 "false" 라면 매번 새로 생성.

- 요청의 컨텐츠 타입과 인코딩 설정

- struts-config.xml 파일의 요소의 캐시 설정에 따라 설정.

- processPreprocess() 메소드를 호출

- path 값으로 ActionMapping 을 검색하고 사용자가 요청을 수행할 Role 을 가지고 있는지 검사.

- ActionMapping 에 설정된 ActionForm 을 찾아 스코프가 세션으로 지정되어있는지 검사한다.

- 요청 파라메터들을 ActionForm 에 설정하고 validate() 메서드를 호출,

* 에러가 있다면 ActionErrors 객체를 요청하여 요청스코프에 저장하고 ActionMapping 의 input 속성에 지정된 리소스로 포워드

- struts-config.xml 파일의 요소에 설정된대로 리소스를 포워드(forward)하거나 포함(include)한다

- Action 인스턴스를 검색하고 execute() 메소드를 호출, 이때의 리턴값을 ActionForward 에 설정된 리소스로 포워드

[:2008년 04월 23일 16:03:48 수정되었습니다.:]