2013-03-08 1 views
2

나는 꽤 작은 관심을 가지고 있는데, 꽤 언젠가 인터넷 검색을 한 후에도 대답을 찾을 수 없었다.dispatcher 서블릿에서 web.xml에 정의 된 context-param을 사용하는 방법은 무엇입니까?

Dispatcher 서블릿에서 web.xml에 정의 된 context-param은 어떻게 사용합니까? 내 web.xml에

는,이처럼 정의 : 그러나

String rootPath = sce.getServletContext().getInitParameter("root.path");

:

<context-param> 
    <param-name>root.path</param-name> 
    <param-value>/root</param-value> 
</context-param> 

내가 코드의 아래 라인을 사용하여 내 자바 클래스에 액세스 할 수 있습니다 , dispatcher 서블릿에서이 값을 사용할 방법이 없습니다. 나는 값 자체보다는 아래의 경우/root에 변수를 사용하고 싶다.

<bean id="propertyConfigurer" 
     class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" 
     p:location="file:/root/main.properties" /> 

도움이 되었으면 좋겠습니다.

감사합니다.

+0

로 이름을, 문제를 만듭니다

<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" p:location="file:/#{contextParameters.root.path}/main.properties" /> 

를 사용하여. 이 컨텍스트 매개 변수는 어떤 목적을 해결합니까? 대신에이 변수를 환경 변수 어디에서나 외부화 할 수 있습니다. 여기, 한 곳에서 변수와 다른 장소를 선언하고 있습니다. 둘 다 외부화와 같은 내부 공간이 아닙니다. –

+0

환경 변수를 사용하는 것이 좋지 않았습니다. 보안상의 이유로 (패스워드 저장 등을 위해) 클래스 파일로부터 속성 파일을 지우고 싶습니다. 그리고 몇 군데에서 그것을 참조 할 것입니다. 그래서 컨텍스트 변수를 정의하고 다른 config xml에서 사용할 계획입니다. – James

+0

한 가지 더 제안하고 싶습니다. 속성 파일에서 "root.path"의 값을 유지 한 다음 선택하려는 위치에서 결정해야합니다. –

답변

3

에 한번 우리는 "root.path"와 같은 이름을 경우 대신 "root_path"나는 여기에 질문이

+0

굉장! 그것은 매력처럼 작동했습니다. 그물에서 수 시간 동안 검색 한 후에 이런 종류의 사용법을 보지 못했습니다. 고맙습니다! – James

관련 문제