2014-06-30 14 views
1

Tomcat을 내 서블릿 컨테이너로 사용하여 두 가지 동일한 전쟁을 서로 다른 컨텍스트에 배포하고 컨텍스트 경로를 변수로 사용하여 어떤 속성 파일 로드 하시겠습니까? web.xml :컨텍스트 경로에 대해 Tomcat의 web.xml에서 변수 대체를 사용하는 방법

<context-param> 
     <param-name>initialization.file</param-name> 
     <param-value> 
      WEB-INF/config/context${contextPath}.properties 
     </param-value> 
    </context-param> 

과 같은 작업을 수행하려고합니다. 그런 다음이 컨텍스트 속성을 기반으로 초기화 파일을로드하십시오. 이것이 가능한가? 그렇다면 어떻게?

Tomcat 6, Java 6 및 Servlet API 2.5를 사용하고 있습니다.

답변

1

구성하려는 내용에 따라 다릅니다. web.xml은 정적이며 변수를 할당 할 수 없습니다. 그러나 할당 할 수있는 곳에 변수 이름을 전달할 수 있습니다. 당신이 경로 변수 이름을 교체하고 특성 파일을로드 할 수있는 것보다

ServletContext servletContext = servletContextEvent.getServletContext(); 
String contextPath = servletContext.getContextPath(); 

다음 ServletContextEvent를 ServletContextListner을 구현하고 사용합니다. 물론 첫 번째 리스너로서 web.xml에 리스너를 추가해야합니다.

응용 프로그램 시작시로드되지만, 어떤 순서로 이루어질 수는 없습니다.