이거 맘대로 되는 세상이 아니구만...

ActionServlet init()내부 초기화 본문

java

ActionServlet init()내부 초기화

바이홍 2007. 7. 9. 20:50
반응형

1.initInternal() : *.properties값을 읽어 messageResources객체에 담는다 (메세지 초기화)
스트럿츠 내부에서 사용되는 메시지들을 초기화 한다.

2.initOther() : web.xml 에서 init-param으로 넘어온 정보들 초기화(debug,config,detail 등)
web.xml에서 전달한 초기화 인자를 초기화한다.

3.initServlet() : web.xml에서 설정 한 서블릿 매핑 정보 초기화 (*.do->ActionServlet)

4.getServletContext().setAttribute(Globals.ACTION_SERVLET_KEY,this) :
Application Scope의 ServletContext에 ActionServlet객체를 담는다.

5.initModuleConfig("",config) : prefix와 struts-config.xml을 인자로 넘겨 bApplicationConfig 객체초기화
config //다른 이름을 사용할 경우 config/ 로시작
/WEB-INF/struts-config.xml //xml문서의 이름은 마음대로

6.initModulemessageResource(modelConfig) : module화된 config내용에서 메세지 리소스
정보를 읽어 들여 초기화 한다(*.properties -> hashMap 메모리 로딩)
(
struts-config.xml 설정 파일에 메시지 리소스 정보를 가지는 파일이 설정되어 있으면 초기화 한다.
메시지 리소스를 저장하는 파일은 .prorerties 확장자를 가진 파일을 사용한다)

7.initModuleDataSource(moduleConfig) : struts-config.xml 설정파일에 DataSource가 기록되어 있으면 초기화
보통 DataSource는 톰캣 레벨에서 지정된다고 한다.
DataSource 정보는 스트럿츠에서 데이터 베이스의 Connection 객체를 얻을 수 있게 설정하는 것

8.initModulePlugIns(moduleConfig) : struts-config.xml에다른 프레임워크 정보가 세팅되어
있다면 초기화 작업을 한다.(Spring, EJB 등등..
*struts-config.xml 설정 파일에 플러그인 정보가 설정되어 있다면 초기화 한다. 이는 스트럿츠 외에 다른 프레임워크를 사용하는것이 가능하게 하기위해서 프러그인 기능을 제공

9.다른 moduleConfig 정보가 존재한다면 5~8과정 반복하면서 초기화 한다.

10.destroyConfigDigester() : Dom 과 관련된 프레임 워크
web.xml에 config/ex 이름으로 설정된 config정보는 ex(prefix)라는 이름으로
ModuleConfig객체에 저장되고
SevletContext.setAttribute(Golbals.MODULE_KEY+prefix,moduleConfig); 와 같이 초기화 된다.
ModuleConfig 를 담당 하는 패키지는 strurs-1.3.5 버전에서는
struts-1.3.5srccoresrcmainjavaorgapachestrutsconfig 패키지에 있다.

Comments