Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java jsp spring mvc上的HTTP状态404_Java_Spring_Jsp_Spring Mvc_Intellij Idea - Fatal编程技术网

Java jsp spring mvc上的HTTP状态404

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

我正在尝试开发一个SpringMVC项目,它的视图是index.jsp文件。我搜索并发现我应该通过以下两个配置类来完成这项工作:

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");