DispatcherServlet은 기본적으로 웹 어플리케이션의 /WEB-INF/ 디렉토리에 위치한 [서블릿이름]-servlet.xml 파일로 부터 스프링 설정 정보를 읽어옴
<servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> </servlet> |
하지만, 한 개 이상의 설정 파일을 사용해야 할 때나, 기본 설정 파일 이름이 아닌 사용자 설정 이름을 사용하고 싶을 때는 다음과 같이 설정한다.
<servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value> /WEB-INF/board.xml /WEB-INF/login.xml /WEB-INF/study.xml </param-value> </init-param> </servlet> |
DispatcherServlet은 그 자체가 서블릿이기 때문에 1개 이상의 DispatcherServlet을 설정하는 것이 가능
<servlet> <servlet> |
back DispatcherServlet은 back.xml 설정 파일을 사용하고 front DispatcherServlet은 front.xml 설정 파일을 사용하도록 설정하고 있는데, 이때 주의 할 점은 back.xml에서는 front.xml에 설정한 빈 객체를 사용할 수 없다.(그 반대의 경우도 마찬가지임)
만약 위의 같은 경우에 서로 다른 DispatcherSevlet이 공통 빈을 필요로 하는 경우 ContextLoaderListener를 사용하여 공통으로 사용될 빈을 설정할 수 있음.
<context-param> <servlet> |
위의 경우라면... applicationContext.xml에 설정한 빈을 그 자식인 back, front 모두에서 사용할 수 있다.
(ContextLoaderListener는 contextConfigLocation 컨텍스트 파라미터를 명시하지 않으면 /WEB-INF/applicationContext.xml을 설정 파일로 사용함)
설정파일을 class path에 위치한 파일로부터 설정 정보를 읽고 싶다면 다음과 같이 작성한다.
<context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath:kr/co/aaa/adminA.xml classpath:kr/co/aaa/adminB.xml /WEB-INF/config/adminC.xml </param-value> </context-param> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener> |
[참고자료] : 스프링 2.5 프로그래밍 (최범균 지음)
'프로그램 > Spring 2.5' 카테고리의 다른 글
[참고] Developing a Spring Framework MVC application step-by-step (0) | 2012.02.08 |
---|---|
[16일차] spring MVC 처리 - 심플 소스 (2) | 2010.11.02 |
[14일차] Spring MVC의 클라이언트 요청 처리 과정 (6) | 2010.11.02 |
[13일차] SpringFramework + ibatis 연동 (2) (0) | 2010.06.27 |
[12일차] SpringFramework + ibatis 연동 (1) (0) | 2010.06.22 |