Java jsp spring mvc上的HTTP状态404
我正在尝试开发一个SpringMVC项目,它的视图是index.jsp文件。我搜索并发现我应该通过以下两个配置类来完成这项工作:Java jsp spring mvc上的HTTP状态404,java,spring,jsp,spring-mvc,intellij-idea,Java,Spring,Jsp,Spring Mvc,Intellij Idea,我正在尝试开发一个SpringMVC项目,它的视图是index.jsp文件。我搜索并发现我应该通过以下两个配置类来完成这项工作: public class MainInitializer extends AbstractAnnotationConfigDispatcherServletInitializer { public static HashMap<String, String> response_code = new HashMap<String, String
public class MainInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
public static HashMap<String, String> response_code = new HashMap<String, String>();
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class[] { MainConfiguration.class,
WebSocketConfig.class};
}
@Override
protected Class<?>[] getServletConfigClasses() {
return null;
}
@Override
protected String[] getServletMappings() {
return new String[] { "/" };
}
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
super.onStartup(servletContext);
Security.addProvider(new BouncyCastleProvider());
servletContext.addListener(new MainContextListener());
}
}
我已经将我的项目配置为在intellij内部的TomcatWeb服务器上运行。但当index.jsp直接位于path:webapp/index.jsp时,它将在运行程序后在浏览器中打开,但当我将其移动到子文件夹时,它不会打开
这部分代码不应该给spring提供地址,这样它就可以找到url并且不会给出404错误吗
viewResolver.setPrefix("/WEB-INF/jsp/");
viewResolver.setSuffix(".jsp");
您需要使用
@Configuration注释MainConfiguration.java。
此外,您还需要在servlet上下文中注册DispatcherServlet
的实例。实际上,您可以参考-以了解详细的配置。请共享。我在发布问题时缺少@Configuration,我已更正了它。关于注册我提到的DispatcherServlet实例,在这个链接中,您可以使用扩展AbstractAnnotationConfigDispatcherServletializer的MainInitializer类,而不是实现WebApplicationInitializer。
viewResolver.setPrefix("/WEB-INF/jsp/");
viewResolver.setSuffix(".jsp");