0

OK、最後の質問を手伝ってくれてありがとう。これが私の新しいエラーとそれに続くコードです。エラーの太字のテキストは、それが唯一のエラーであるため、修正することに関心があるすべてです。

[Thread-36] ContextLoader ERROR コンテキストの初期化に失敗しました org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext リソース [/spring/servlet-context.xml]; ネストされた例外は java.io.FileNotFoundException: ServletContext リソース [/spring/servlet-context.xml] を開けませんでした org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:341) で org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302) で org.springframework.beans.factory .support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143) org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178) org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader) .java:149) org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:124) で org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:93) で org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130) で org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java: 467) org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:397) で org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276) で org.springframework.web.context.ContextLoader .initWebApplicationContext(ContextLoader.java:197) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47) at org.org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4701) at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5204) at org.apache.catalina.core.StandardContext$1.call( StandardContext.java:5199) で java.util.concurrent.FutureTask.run (未知のソース) で java.util.concurrent.ThreadPoolExecutor.runWorker (未知のソース) で java.util.concurrent.ThreadPoolExecutor$Worker.run (未知のソース) でjava.lang.Thread.run(不明なソース) 原因: java.io.FileNotFoundException: org.springframework.web.context.support.ServletContextResource.getInputStream で ServletContext リソース [/spring/servlet-context.xml] を開けませんでした(ServletContextResource.java:117) org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:328) ... 19 2013 年 10 月 16 日 7:44:51 AM org.apache.catalina.core.StandardContext startInternal SEVERE: Error listenerStart Oct 16, 2013 7:44:51 AM org.apache .catalina.core.StandardContext startInternal SEVERE: コンテキスト [/mdimgmtsys-1.0-SNAPSHOT] の起動は、以前のエラーが原因で失敗しました

今コード:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns="http://java.sun.com/xml/ns/javaee" 
     xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
     version="2.5">


<context-param>
    <param-name>contextAppConfigLocation</param-name>
    <param-value>app-context.xml classpath*:app-context.xml</param-value>
</context-param>
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/spring/servlet-context.xml classpath*:servlet-context.xml</param-value>
</context-param>

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<!-- Enables Spring Security -->
<filter>
    <filter-name>springSecurityFilterChain</filter-name>
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
    <filter-name>springSecurityFilterChain</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

<servlet>
    <servlet-name>appServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextAppConfigLocation</param-name>
        <param-value>app-context.xml</param-value>            
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet>
    <servlet-name>contextServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/spring/servlet-context.xml</param-value>

    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>          
<servlet-mapping>
    <servlet-name>appServlet</servlet-name>
    <url-pattern>/</url-pattern>
    <servlet-name>contextServlet</servlet-name>
    <url-pattern>/</url-pattern>        
</servlet-mapping>    
<session-config>
    <session-timeout>
        30
    </session-timeout>
</session-config>        
</web-app>

私が何をしても、Tomcat でアプリを起動できません。

4

5 に答える 5

0

Spring 構成ファイルの場所と命名規則を変更する場合は、定義にacontextConfigLocationを追加する必要があります。次に例を示します。DispatcherServlet

<servlet>
  <servlet-name>appServlet</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <init-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:app-context.xml</param-value>
  </init-param>
  <load-on-startup>1</load-on-startup>
</servlet>

src フォルダーのルートにある必要があることに注意してくださいapp-context.xml。それ以外の場合は、クラスパスにパスを指定するか、classpath:接頭辞なしで WEB-INF にパスを指定する必要があります。

詳細については、https ://stackoverflow.com/a/14956773/120794 の回答を参照してください。

于 2015-04-28T05:43:21.477 に答える
0

servlet.xml正しい場所、つまりWEB-INFフォルダーの下に配置することで、同じエラーを解決しました。あなたもそれを試すことができます。

于 2014-09-24T11:34:24.630 に答える