Spring MVC+;Apache2Tiles+;Spring安全配置异常

Spring MVC+;Apache2Tiles+;Spring安全配置异常,spring,apache,spring-mvc,spring-security,tiles,Spring,Apache,Spring Mvc,Spring Security,Tiles,我的应用程序使用SpringMVC+Apache2Tiles+SpringSecurity,但我遇到了一个异常 SEVERE: Servlet /spring-tiles threw load() exception java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/spring-servlet.xml] at o

我的应用程序使用SpringMVC+Apache2Tiles+SpringSecurity,但我遇到了一个异常

SEVERE: Servlet /spring-tiles threw load() exception                                     
java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/spring-servlet.xml]
at org.springframework.web.context.support.ServletContextResource.getInputStream(ServletContextResource.java:140)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:328)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:174)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:209)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:180)
at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:125)
at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:94)
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:131)
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:522)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:436)
at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:631)
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:588)
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:645)
at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:508)
at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:449)
at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:133)
at javax.servlet.GenericServlet.init(GenericServlet.java:212)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1206)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1026)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4421)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4734)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
我的web.xml是

<?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"
id="WebApp_ID" version="2.5">
<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>

<context-param>
    <param-name>contextConfigLocation</param-name>
        <param-value>
        /WEB-INF/applicationContext.xml,/WEB-INF/spring-security.xml
        </param-value>
</context-param>
<servlet>
    <servlet-name>spring</servlet-name>
    <servlet-class>
        org.springframework.web.servlet.DispatcherServlet
    </servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>spring</servlet-name>
    <url-pattern>*.htm</url-pattern>
</servlet-mapping>

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- 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>

<!-- Spring Character Encoding -->
<filter>
    <filter-name>encoding-filter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>encoding-filter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

index.jsp
上下文配置位置
/WEB-INF/applicationContext.xml,/WEB-INF/spring-security.xml
春天
org.springframework.web.servlet.DispatcherServlet
1.
春天
*.htm
org.springframework.web.context.ContextLoaderListener
springSecurityFilterChain
org.springframework.web.filter.DelegatingFilterProxy
springSecurityFilterChain
/*
编码过滤器
org.springframework.web.filter.CharacterEncodingFilter
编码
UTF-8
编码过滤器
/*

spring-security.xml是

<beans:beans xmlns="http://www.springframework.org/schema/security"
xmlns:beans="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-3.1.xsd">

<!-- non security for login page -->
<http pattern="/jsp/login.jsp" security="none"/>
<http auto-config="true">
    <intercept-url pattern="/*" access="ROLE_USER" />
    <form-login login-page='/login.htm' default-target-url='/home.htm'
        always-use-default-target='true' />
</http>

<authentication-manager>
    <authentication-provider>
        <user-service>
            <user name="me" password="1234" authorities="ROLE_USER" />
        </user-service>
    </authentication-provider>
</authentication-manager>


我错在哪里?谢谢。

Spring期待您的DispatcherServlet提供Spring-servlet.xml。来自Spring文档

在初始化DispatcherServlet时,Spring MVC会查找 文件的WEB-INF目录中名为[servlet name]-servlet.xml的文件 web应用程序并创建其中定义的bean,覆盖 在全局域中使用相同名称定义的任何bean的定义 范围


在servlet中定义不同的应用程序上下文(我通常将默认的applicationContext.xml移到servlet中)或创建该文件。

Spring希望从DispatcherServlet中获得一个Spring-servlet.xml。来自Spring文档

在初始化DispatcherServlet时,Spring MVC会查找 文件的WEB-INF目录中名为[servlet name]-servlet.xml的文件 web应用程序并创建其中定义的bean,覆盖 在全局域中使用相同名称定义的任何bean的定义 范围


在servlet中定义不同的应用程序上下文(我通常将默认的applicationContext.xml移到servlet中)或创建该文件。

“java.io.FileNotFoundException:无法打开ServletContext资源[/WEB-INF/spring servlet.xml]”spring找不到您的spring-servlet.xml文件。“java.io.FileNotFoundException:无法打开ServletContext资源[/WEB-INF/spring servlet.xml]”spring找不到您的spring-servlet.xml文件。