在呈现WEB-CONTENT / WEB-INF / jsp / index.jsp中的index.jsp时,获取DispatcherServlet的类未找到异常
以下是项目的结构。
我在smaple项目中使用注释驱动的控制器。
答案 0 :(得分:7)
来自文档:
初始化DispatcherServlet后,Spring MVC会查找 在您的WEB-INF目录中命名为[servlet-name] -servlet.xml的文件 Web应用程序并创建在那里定义的bean,覆盖 全局中使用相同名称定义的任何bean的定义 范围。
因此将abc-servlet.xml
放在WEB-INF
中应该允许调度程序servlet接收您的配置。
如果您不希望调度程序servlet使用默认名称或希望它驻留在除WEB-INF
之外的其他目录中,则应在web.xml中指定此配置。可以通过在contextConfigLocation
DispatcherServlet
init-param来更改调度程序servlet配置的位置和名称
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</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>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
此信息可在Spring Documentation
中找到答案 1 :(得分:3)
web.xml
放在WEB-INF
下,然后您可以像这样推荐您的spring xml:
<servlet>
<servlet-name>myservlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/abc-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
<async-supported>true</async-supported>
</servlet>