2014-04-29 48 views
0

我正在設置一個Web服務,它將在同一個tomcat中的幾個不同的應用程序中重用。我期望做的是有一個設置,我可以重用servlet上下文XML,但只需根據正在設置的servlet獲取正確的屬性文件即可。我創建了PropertyPlaceholderConfigurer的子類,它允許我從XML中單獨請求屬性文件,但我無法弄清楚如何從這個類中獲取servlet名稱。使用相同的servlet環境設置多個Web服務

這甚至可能或者是否有更好的方法來使用Spring MVC 3.2.8來做到這一點?

謝謝

回答

0

我終於弄清楚了這一點。我所做的只是使用包含大多數servlet配置的單個XML文件,然後使用單個XML文件來設置要使用的屬性文件。然後在web.xml中,我指定了Servlet的param-value中的兩個XML文件,並且它們都被加載並使用正確的屬性文件。例如。 web.xml中

<servlet> 
    <servlet-name>myAppServlet</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <init-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value>/WEB-INF/properties-context.xml /WEB-INF/servlet-context.xml</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

,其屬性-context.xml的

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:p="http://www.springframework.org/schema/p" 
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> 

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

</beans> 

和servlet-context.xml的是一個普通的春天servlet上下文文件,該文件使用$ {}任何場所,my.properties加載。

相關問題