2

myapp-servlet.xml を Web アプリケーションのコンテキストとしてロードしたいと考えています。私はSpring contextLoaderListnerを定義しておらず、コンテキストパラメータを定義しておらず、ディスパッチャーサーブレットのみが定義されています。

   <display-name>myapp</display-name>
    <description/>
    <servlet>
        <servlet-name>myapp</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>myapp</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

config ファイルは /WEB-INF/myapp-servlet.xml に存在し、ロードされることを期待しています。しかし、私は次の例外を受けています

SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext resource [/WEB-INF/applicationContext.xml]; nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/applicationContext.xml]
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:341)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)

context-param と contextLoaderListener が定義されていない場合でも、デフォルトの applicationContext.xml ファイルが検索される理由を知りたいですか?

4

2 に答える 2

0

Spring 構成ファイルに適切な context-param を追加するだけです。

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/myapp-servlet.xml</param-value>
</context-param>

おそらく、Spring コードにはデフォルトの構成ファイルの場所があります... UTSLの良い機会のようです...

于 2012-09-10T22:19:02.470 に答える