最佳答案
我正在编写一个部署在 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")
@EnableWebMvc
public class SpringServletConfig {
@Bean
public InternalResourceViewResolver resolver() {
InternalResourceViewResolver vr = new InternalResourceViewResolver();
vr.setPrefix("/WEB-INF/jsps/");
vr.setSuffix(".jsp");
return vr;
}
}
最后,在包 com.example.controllers
中有一个 @Controller
@Controller
public class ExampleController {
@RequestMapping(path = "/home", method = RequestMethod.GET)
public String example() {
return "index";
}
}
我的应用程序的上下文名称是 Example
http://localhost:8080/Example/home
应用程序使用 HTTP Status 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'
我在 /WEB-INF/jsps/index.jsp
有一个 JSP 资源,我希望 Spring MVC 使用我的控制器来处理请求并转发到 JSP,那么为什么它响应一个404?
这意味着对于有关此警告消息的问题,这是一个规范的帖子。