2016-07-25 11 views
0

だからここに私のプロジェクトです:春MVC - ページが見つかりませんでした

WebConfig.java:

@EnableWebMvc 
@Configuration 
public class WebConfig extends WebMvcConfigurerAdapter{ 

@Override 
public void addViewControllers(ViewControllerRegistry registry) { 
    registry.addViewController("/").setViewName("index"); 
} 

public InternalResourceViewResolver internalResourceViewResolver() { 

    InternalResourceViewResolver resolver = new   InternalResourceViewResolver(); 
    //strings to views 
    //success from a controller -* prefix/success/suffix 
    //success from a controller -* /WEB-INF/pages/success.jsp 
    resolver.setPrefix("/WEB-INF/pages/"); 
    resolver.setSuffix(".jsp"); 

    return resolver; 
} 
} 

AppInitializer.java:

public class WebAppInitializer implements WebApplicationInitializer{ 

public void onStartup(ServletContext container) throws ServletException { 
    AnnotationConfigWebApplicationContext rootContext = new AnnotationConfigWebApplicationContext(); 
    rootContext.register(WebConfig.class); 

    container.addListener(new ContextLoaderListener(rootContext)); 

    DispatcherServlet dispatcherServlet = new DispatcherServlet(rootContext); 

    ServletRegistration.Dynamic registration = container.addServlet("dispatcherServlet", dispatcherServlet); 
    registration.setLoadOnStartup(1); 
    registration.addMapping("/"); 
} 

} 

PS:私 "のindex.jsp"ページは/ WEB-INF/pages/

です。インデックスページはまだ取得できません。それが見つからないと言います。 ご協力いただきありがとうございます。

+0

インデックス_ページを取得する必要がありますか?ここでアプリケーション構成のどの部分が役立つと思いますか?どうしてそう思うの? –

+0

まあ、私はチュートリアルに従って、男は彼のページを手に入れました、私はなぜ私は不思議でした!そして、私は既にデフォルトの "/"を "インデックス"にマップしていますので、ここでは問題は見えません。 –

+0

チュートリアルにリンクできますか?あなたの 'internalResourceViewResolver()'メソッドは何を意味すると思いますか? –

答えて

1

そのリゾルバに@Bean注釈を追加しようと@ComponentScan(basePackages =「yourPackages」)の設定クラスに

レゾルバの上書き入力を取得してください:

あなたは思いますなぜ
@Bean 
public ViewResolver viewResolver() 
{ 
    InternalResourceViewResolver viewResolver = new InternalResourceViewResolver(); 
    viewResolver.setViewClass(JstlView.class); 
    viewResolver.setPrefix("/WEB-INF/views/"); 
    viewResolver.setSuffix(".jsp"); 

    return viewResolver; 
} 
+0

ありがとう!それは正確に何を説明することができます(私は方法を意味する) –

+1

それは、Javaアノテーションによって設定されたビューリゾルバを設定します。 Viewリゾルバは、春にビューを名前で解決する責任があります。たとえば、コントローラ内にマッピングメソッドがあり、そのマッピングが文字列を返す場合、そのリゾルバはその名前を持つビューページの検索を行います。 –

+0

と最後の質問:なぜそれをbeanとして設定する必要がありますか? –

関連する問題