2017-04-05 84 views
0

私はSpring MVCを初めて使用しています。私はこの春SEVERE:コンテキストの初期化に失敗しました。org.springframework.beans.factory.BeanDefinitionStoreException:

で私の最初のプロジェクト

エラーであるTomcatの8.5での私の動的Webプロジェクトを実行しようとしているとき、私は、エラーの下に取得しています

SEVERE:例外の インスタンスをリスナーにコンテキスト初期化イベントを送信しますクラス org.springframework.web.context.ContextLoaderListener org.springframework.beans.factory.BeanDefinitionStoreException: ServletContextリソースからXMLドキュメントを解析しているIOException [/WEB-INF/applicationContext.xml];ネストされた例外は java.io.FileNotFoundExceptionです: [/WEB-INF/applicationContext.xml] org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitionsで (XmlBeanDefinitionReader.java:344) でのServletContextリソースを開くことができませんでしたorg.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitionsでorg.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:304) (AbstractBeanDefinitionReader.java:181)org.springframework.beansで 。 (AbstractBeanDefinitionReader.java:188) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:188) でorg.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:125)org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:94)org.springframeworkで で。 context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:129)org.springframework.context.support.AbstractApplicationContext.refreshでorg.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:613) で (AbstractApplicationContext。 java:514) at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:443) at org.springfr org.apache.catalina.core.StandardContext.listenerStartでorg.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107) でamework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:325) ( (StandardContext.java:4727) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5189) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org。コンテナベース$ StartChild.call(ContainerBase.java:1419) at org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1409) at java.util.concurrent.FutureTask。 run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadP (Thread.java:745) 原因:java.io. FileNotFoundException:ServletContextリソース[/WEB-INF/applicationContext.xml]を開けませんでした。 at org.springframework.web.context.support.ServletContextResource.getInputStream(ServletContextResource.java:141) at org.springframework.beans.factory.xml .XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:330) ...私はちょうどページにメッセージを印刷しようとしています

<?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:context="http://www.springframework.org/schema/context" 
     xsi:schemaLocation="http://www.springframework.org/schema/beans 
     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
     http://www.springframework.org/schema/context 
     http://www.springframework.org/schema/context/spring-context-3.0.xsd"> 

     <bean id="handlerMapping" class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"> 

     </bean> 

     <bean name="/" class="com.learn.spring.controller.BaseController"></bean> 

     <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
      <property name="prefix"> 
       <value>/</value> 
      </property> 
      <property name="suffix"> 
       <value>.jsp</value> 
      </property> 
     </bean> 

    </beans> 

<?xml version="1.0" encoding="UTF-8"?> 
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1"> 
     <display-name>SpringMVCTest</display-name> 
     <welcome-file-list> 

     <welcome-file>index.jsp</welcome-file> 

     </welcome-file-list> 

     <servlet> 
     <servlet-name>dispatcher</servlet-name> 
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
     <load-on-startup>1</load-on-startup> 
     </servlet> 

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

    </web-app> 

私のディスパッチャ-servlet.xmlファイル:

私のweb.xmlファイル21より、applicationContext.xmlファイルが必要ですか?はいの場合は、プロジェクトにどのように追加できますか?私はその春が[servlet-name] -servlet.xmlファイルを検索することを読んでいます。

答えて

0

dispatcher-servlet.xmlファイルをweb.xmlファイルに初期化する必要があります。 web.xmlファイルを変更して、これらの行を追加します。

<init-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>/WEB-INF/dispatcher-servlet.xml</param-value> 
</init-param> 

これが最終的なweb.xmlファイルである

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1"> 
    <display-name>SpringMVCTest</display-name> 
    <welcome-file-list> 

    <welcome-file>index.jsp</welcome-file> 

    </welcome-file-list> 

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

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

</web-app> 

あなたはWEB-INFフォルダ

+0

のHi下ディスパッチャ-servlet.xmlファイルを作成する必要があり、私は変更を行いましたcvc-complex-type.2.4.a:要素 'init-param'で始まる無効な内容が見つかりました。 '{"http:// xmlns.jcp.org/xml/ns/javaee":enabled、" http://xmlns.jcp.org/xml/ns/javaee":async-supported、 "http ://xmlns.jcp.org/xml/ns/javaee ":run-as" http://xmlns.jcp.org/xml/ns/javaee":security-role-ref、 "http:// xmlns.jcp.org/xml/ns/javaee":multipart-config} 'が必要です。 –

+0

私は行を変更しました。今これは大丈夫です。この新しいweb.xmlファイルを試してみてください – Dev4World

関連する問題