Spring mvc 无法加载spring应用程序上下文
我想加载myapp-servlet.xml作为我的web应用程序上下文。我既没有定义spring contextLoaderListner也没有定义上下文参数,只定义了DispatcherServletSpring mvc 无法加载spring应用程序上下文,spring-mvc,Spring Mvc,我想加载myapp-servlet.xml作为我的web应用程序上下文。我既没有定义spring contextLoaderListner也没有定义上下文参数,只定义了DispatcherServlet <display-name>myapp</display-name> <description/> <servlet> <servlet-name>myapp</servlet-name>
<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>
我想知道为什么即使未定义上下文参数和contextLoaderListener,也会查找默认的applicationContext.xml文件?只需为Spring配置文件添加适当的上下文参数:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/myapp-servlet.xml</param-value>
</context-param>
上下文配置位置
/WEB-INF/myapp-servlet.xml
Spring代码中可能有一个默认配置文件位置。。。似乎是一个很好的机会…只需为您的Spring配置文件添加适当的上下文参数:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/myapp-servlet.xml</param-value>
</context-param>
上下文配置位置
/WEB-INF/myapp-servlet.xml
Spring代码中可能有一个默认配置文件位置。。。似乎是一个很好的机会…只需添加
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
org.springframework.web.context.ContextLoaderListener
只需在web.xml中添加
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
org.springframework.web.context.ContextLoaderListener
到你的web.xml但是myapp-servlet.xml不应该默认被选中吗,根据spring文档是的,你是对的,它应该按照你说的那样工作。我会在
src
树中搜索applicationContext.xml
,因为可能有一个单元测试试图通过指定XM文件手动加载applicationContext。还要检查您的myapp servlet.xml
文件的权限,以防tomcat无法读取该文件。但是默认情况下不应该选择myapp-servlet.xml,根据spring文档是的,它应该按照您所说的工作。我会在src
树中搜索applicationContext.xml
,因为可能有一个单元测试试图通过指定XM文件手动加载applicationContext。还要检查您的myappservlet.xml
文件的权限,以防tomcat无法读取该文件。