2016-06-24 18 views
0

這是我的問題: 最初,我將spring-servlet.xml放在我的WEB-INF文件夾的根目錄下。 然後「MVC」被自動檢測並且一切正常(看第一個屏幕)。Intellij Idea。一旦Spring MVC上下文被自動檢測到,它的位置不能被改變

然後我想將我的spring-servlet.xml移動到配置文件夾。 我搬了它,所有的綁定都丟失了,上下文指向了前一個位置(請參閱第二個屏幕)。 如果我刪除「MVC spring servlet context」並點擊「應用」,它將不會被真正刪除(如果刪除後我會回去它仍然會在那裏)。

我想我需要手動指向文件位置,但我不知道如何在Intellij中執行此操作。

如何解決這個問題?

enter image description hereenter image description here

回答

0

我相信按照Spring MVC中的默認配置,它可以直接從WEB-INF挑調度員的servlet文件。但是,如果您想提供自定義位置,則可以在web.xml中將<init-param>用於dispatcherServlet,並提供xml文件的自定義位置。例如,

<servlet> 
    <servlet-name>SpringDispatcher</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <init-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value>/WEB-INF/config/applicationContext-mvc.xml</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

另一種方法是使用Spring ContextLoaderListner在web.xml中,給XML文件作爲<context-param> EG。

<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>/WEB-INF/applicationContext.xml</param-value> 
</context-param> 
<listener> 
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
</listener> 
相關問題