spring配置文件和web.xml的确切位置在哪里?
在呈现WEB-CONTENT / WEB-INF / jsp / index.jsp中的index.jsp时获取DispatcherServlet的类未找到exception
以下是项目的结构。
- web.xml位于WEB-CONTENT下。
- abc是我的Dispatcher servlet的名称。 因此配置文件将是abc-servlet.xml,它将包含定义了所有命名空间和模式的bean标记。
- 我应该在哪里放置abc-servlet.xml文件? 它应该在classes文件夹中还是在web.xml中?
- 是否因为spring配置文件的位置而出现exception?
- 此外,如果我将配置文件放在其他位置,如何让项目知道它在项目中的特定路径?
我在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