在这件事上有很多Q和As,但我没有看到为什么我的项目有效的答案。我按照教程开始了,所以它才有效。这是我在Web.xml中的Spring Dispatcher Servlet的声明:
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
然后我将我的servlet定义放在名为dispatcher-servlet.xml
的同一文件夹中的文件中。但我没有在web.xml中声明该定义可以在该特定文件中找到。 Web应用程序如何知道这是正确的文件?
我在答案中看到了该文件的其他默认名称,但没有像我一样。 dispatcher-servlet.xml
是Spring知道并可以找到的默认名称吗?
答案 0 :(得分:3)
来自Spring MVC文档:
初始化DispatcherServlet后,Spring MVC会查找 在您的WEB-INF目录中命名为[servlet-name] -servlet.xml的文件 Web应用程序并创建在那里定义的bean,覆盖 全局中使用相同名称定义的任何bean的定义 范围。
由于您的servlet名称是&#39;调度员&#39; Spring在WEB-INF文件夹的默认位置查找文件dispatcher-servlet.xml。
https://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html