2017-04-08 101 views
0

我正在嘗試開發一個具有index.jsp文件的spring MVC項目,因爲它的視圖。我搜查,發現我應該通過兩個幫助配置類下面這樣:在jsp spring HTTP上的HTTP狀態404 mvc

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類:

@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; 
    } 

} 

我已經配置了我的項目到Tomcat Web服務器上運行在intellij內。但是當index.jsp直接在path:webapp/index.jsp中時,它將在運行該程序後在瀏覽器中打開,但是當我將它移動到子文件夾時,它不會。

不應該這部分代碼給彈簧的地址,所以它找到的網址,不要給404錯誤?

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

請分享[最小,完整和可驗證示例](http://stackoverflow.com/help/mcve)。 – CrazyCoder

回答

0

您需要@Configuration.此外,您還需要在servlet上下文註冊DispatcherServlet的實例來註釋MainConfiguration.java。實際上,您可以參考 - spring mvc with jsp example瞭解詳細配置。

+0

發佈問題時我錯過了@Configuration,我糾正了它。和關於註冊一個DispatcherServlet的實例我已經提到[鏈接](http://websystique.com/springmvc/spring-4-mvc-helloworld-tutorial-annotation-javaconfig-full-example/),在這個鏈接它是說你可以使用擴展AbstractAnnotationConfigDispatcherServletInitializer的MainInitializer類而不是實現WebApplicationInitializer。 – user5621266