找不到ContextLoaderListener触发器applicationContext.xml文件

时间:2018-07-24 13:05:42

标签: java spring web.xml

我没有applicationContext.xml。我不需要。

这是我的web.xml文件:

  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  <context-param>
    <param-name>contextConfigurationLocation</param-name>
    <param-value>/WEB-INF/config/security-config.xml</param-value>
  </context-param>
  ...
<servlet>
    <servlet-name>fitTrackerServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/config/servlet-config.xml</param-value>
    </init-param>
</servlet>

我那里有security-config.xml个文件,看起来像这样:

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

    <http auto-config="true">
        <intercept-url pattern="/**" access="ROLE_USER"/>
    </http>
    <authentication-manager>
        <authentication-provider>
            <user-service>
                <user name="ajde" password="ajde" authorities="ROLE_USER" />
            </user-service>
        </authentication-provider>
    </authentication-manager>
</beans:beans>

而且我仍然遇到错误,例如没有applicationContext.xml

SEVERE: Context initialization failed
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]

那怎么可能?!?

我看不到我在做错什么。

很显然,这是一条道路。但是在相同的工作原理下将servlet-config.xml置于servlet配置中。

我将我的 security-config.xml 复制/粘贴到 WEB-INF 的根目录,并将其重命名为 applicationContext.xml < / strong>和...它起作用!!!!!!

所以,wtf我做错了吗?!?!? 我看不到...

enter image description here

1 个答案:

答案 0 :(得分:0)

来自https://docs.spring.io/spring/docs/3.2.5.RELEASE/spring-framework-reference/html/beans.html#context-create

  

侦听器检查contextConfigLocation参数。 如果该参数不存在,则侦听器将使用/WEB-INF/applicationContext.xml作为默认值。当参数确实存在时,侦听器将使用预定义的定界符(逗号,分号和空格)来分隔String,并将这些值用作将在其中搜索应用程序上下文的位置。还支持蚂蚁风格的路径模式。对于位于“ WEB-INF”目录中的所有名称以“ Context.xml”结尾的文件,示例均为/WEB-INF/*Context.xml;对于所有文件,示例均为/WEB-INF/**/*Context.xml此类文件位于“ WEB-INF”的任何子目录中。

您可以避免使用applicationContext.xml,但它看起来像是https://www.nurkiewicz.com/2011/01/spring-framework-without-xml-at-all.html的工作坊