我使用Spring并编写了以下web.xml
<web-app>
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>appServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>configContextLocation</param-name>
<param-value>/WEB-INF/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-mapping>
当我执行网络时,我收到错误
org.springframework.beans.factory.BeanDefinitionStoreException: IOException
parsing XML document from ServletContext resource [/WEB-INF/appServlet-
servlet.xml]; nested exception is java.io.FileNotFoundException: Could not
open ServletContext resource [/WEB-INF/appServlet-servlet.xml]
我在论坛中读到它是什么,因为我需要一个appServlet-servlet.xml,因为我的servlet叫做appServlet。
我有一些问题。我是否已调用我的servlet-context.xml appServlet-servlet.xml?
如何修复我的web.xml?
答案 0 :(得分:0)
http://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html#mvc-servlet
从Spring文档中可以看出:
在初始化DispatcherServlet时,Spring MVC在Web应用程序的WEB-INF目录中查找名为[servlet-name] -servlet.xml的文件
将servlet-context.xml
更改为appServlet-servlet.xml
并直接放入WEB-INF下。
引导弹簧上下文的更好方法是定义一个侦听器
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
在
中定义Spring上下文的位置<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/servlet-context.xml</param-value>
</context-param>
答案 1 :(得分:0)
Spring没有从web.xml引导,因为你没有魔法:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
我认为你必须有一些java配置或弹簧启动。但结果是,它不使用web.xml配置。