spring配置文件和web.xml的确切位置在哪里?

在呈现WEB-CONTENT / WEB-INF / jsp / index.jsp中的index.jsp时获取DispatcherServlet的类未找到exception

以下是项目的结构。

  1. web.xml位于WEB-CONTENT下。
  2. abc是我的Dispatcher servlet的名称。 因此配置文件将是abc-servlet.xml,它将包含定义了所有命名空间和模式的bean标记。
  3. 我应该在哪里放置abc-servlet.xml文件? 它应该在classes文件夹中还是在web.xml中?
  4. 是否因为spring配置文件的位置而出现exception?
  5. 此外,如果我将配置文件放在其他位置,如何让项目知道它在项目中的特定路径?

我在smaple项目中使用注释驱动的控制器。

从文档:

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

因此,将abc-servlet.xml放在WEB-INF应该允许调度程序servlet接收您的配置。

如果您不希望调度程序servlet使用默认名称或希望它驻留在除WEB-INF之外的其他目录中,则应在web.xml中指定此配置。 可以通过在DispatcherServlet设置contextConfigLocation init-param来更改调度程序servlet配置的位置和名称

  dispatcher org.springframework.web.servlet.DispatcherServlet  contextConfigLocation WEB-INF/spring/servlet-context.xml  1   dispatcher /  

可以在Spring文档中找到此信息

web.xml放在WEB-INF ,然后你可以像这样引用你的spring xml:

  myservlet org.springframework.web.servlet.DispatcherServlet  contextConfigLocation /WEB-INF/abc-servlet.xml  1 true