为什么Spring MVC用404响应并报告“在DispatcherServlet中找不到带有URI我正在编写一个部署在Tomcat上的Spring MVC应用程序。请参阅以下最小,完整且可验证的示例public class Application extends AbstractAnnotationConfigDispatcherServletInitializer {
protected Class<?>[] getRootConfigClasses() {
return new Class<?>[] { };
}
protected Class<?>[] getServletConfigClasses() {
return new Class<?>[] { SpringServletConfig.class };
}
protected String[] getServletMappings() {
return new String[] { "/*" };
}}哪里SpringServletConfig是@Configuration@ComponentScan("com.example.controllers")@EnableWebMvcpublic class SpringServletConfig {
@Bean
public InternalResourceViewResolver resolver() {
InternalResourceViewResolver vr = new InternalResourceViewResolver();
vr.setPrefix("/WEB-INF/jsps/");
vr.setSuffix(".jsp");
return vr;
}}最后,我有一个@Controller包com.example.controllers@Controllerpublic class ExampleController {
@RequestMapping(path = "/home", method = RequestMethod.GET)
public String example() {
return "index";
}}我的应用程序的上下文名称是Example。当我发送请求时http://localhost:8080/Example/home应用程序以HTTP状态404响应并记录以下内容WARN o.s.web.servlet.PageNotFound - No mapping found for HTTP request with URI `[/Example/WEB-INF/jsps/index.jsp]`
in `DispatcherServlet` with name 'dispatcher'我有一个JSP资源,/WEB-INF/jsps/index.jsp我期望Spring MVC使用我的控制器来处理请求并转发到JSP,那么为什么它会响应404呢?
4 回答
鸿蒙传说
TA贡献1865条经验 获得超7个赞
除了之前描述之外,我解决了我的问题:`
@Beanpublic InternalResourceViewResolver resolver() { InternalResourceViewResolver vr = new InternalResourceViewResolver(); vr.setPrefix("/WEB-INF/jsps/"); vr.setSuffix(".jsp"); return vr;}
added tomcat-embed-jasper:
<dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <scope>provided</scope></dependency>
`from:JSP文件无法在Spring Boot Web应用程序中呈现
海绵宝宝撒
TA贡献1809条经验 获得超8个赞
在我的例子中,我正在关注版本5.1.2的Interceptors Spring文档(使用Spring Boot v2.0.4.RELEASE时),并且WebConfig
该类具有注释@EnableWebMvc
,这似乎与我的应用程序中的其他东西相冲突,这阻止了我的静态正确解析资产(即没有将CSS或JS文件返回给客户端)。
在尝试了很多不同的东西后,我尝试删除它@EnableWebMvc
并且它有效!
编辑:这是参考文档,说明你应该删除@EnableWebMvc
注释
显然至少在我的情况下,我已经在配置我的Spring应用程序(虽然不是通过使用web.xml
或任何其他静态文件,它肯定是以编程方式),所以这是一个冲突。
添加回答
举报
0/150
提交
取消