2017-04-08 25 views
0

私はviewとしてindex.jspファイルを持つSpring MVCプロジェクトを開発しようとしています。私はTomcatのWebサーバ上で実行するために私のプロジェクトを構成したHTTPステータス404 on jsp spring mvc

@EnableWebMvc 
@Configuration 
@ComponentScan(basePackages = "-----") 
public class MainConfiguration extends WebMvcConfigurerAdapter { 
    @Override 
    public void addResourceHandlers(ResourceHandlerRegistry registry) { 
     registry.addResourceHandler("/Content/**") 
       .addResourceLocations("/Content/"); 
     registry.addResourceHandler("/Scripts/**") 
       .addResourceLocations("/Scripts/"); 

    } 

    @Bean 
    public InternalResourceViewResolver viewResolver() { 
     InternalResourceViewResolver viewResolver 
       = new InternalResourceViewResolver(); 
     viewResolver.setPrefix("/WEB-INF/jsp/"); 
     viewResolver.setSuffix(".jsp"); 
     return viewResolver; 
    } 

} 

:私は検索と私は設定クラスの下にある2つの助けによってこれを行う必要がありますが見つかりました:

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()); 
} 
} 

、これはMainConfigurationクラスです内部intellij。 index.jspが直接path:webapp/index.jspにある場合は、プログラムを実行した後にブラウザで開きますが、サブフォルダに移動すると表示されません。

このコードの部分は、春にアドレスを与えるべきではないので、URLを見つけて404エラーを出すべきではありませんか?

viewResolver.setPrefix("/WEB-INF/jsp/"); 
     viewResolver.setSuffix(".jsp"); 
+0

[最小限で完全で検証可能な例](http://stackoverflow.com/help/mcve)を共有してください。 – CrazyCoder

答えて

0

あなたはまた、あなたがサーブレットコンテキストでDispatcherServletのインスタンスを登録する必要が@Configuration.であなたのMainConfiguration.javaに注釈を付ける必要があります。実際には、詳細な設定についてはspring mvc with jsp exampleを参照してください。

+0

私は質問を投稿するときに@Configurationが見つからなかったので、修正しました。 DispatcherServletのインスタンスの登録について私は[link](http://websystique.com/springmvc/spring-4-mvc-helloworld-tutorial-annotation-javaconfig-full-example/)に言及しています。このリンクにはWebApplicationInitializerを実装する代わりに、AbstractAnnotationConfigDispatcherServletInitializerを拡張したMainInitializerクラスを使用することができます。 – user5621266

関連する問題