2017-08-05 8 views
0

Je suis nouveau sur Spring MVC. Je sais qu'il y a beaucoup de questions similaires comme celle-ci mais j'ai déjà essayé la plupart d'entre eux pendant plusieurs heures et toujours confronté au problème que l'erreur 404 apparaît quand je demande http://localhost:8080/SpringRESTFulExample/ du navigateur. Mais il n'y a aucune exception dans la console. Voici mon code,La configuration avec @Controller, InternalResourceViewResolver et ModelAndView dans Spring MVC ne fonctionne pas

RootConfig.java

@Configuration 
@ComponentScan(basePackages = "springrestful_example") 
public class RootConfig { 

} 

WebConfig.java

@Configuration 
@EnableWebMvc 
@ComponentScan(basePackages = "springrestful_example") 
public class WebConfig extends WebMvcConfigurerAdapter{ 

    @Bean 
    public InternalResourceViewResolver resolver() { 
     InternalResourceViewResolver resolver = new InternalResourceViewResolver(); 
     resolver.setViewClass(JstlView.class); 
     resolver.setPrefix("/WEB-INF/views/"); 
     resolver.setSuffix(".jsp"); 
     return resolver; 
    } 

    . 
    . 
    . 
} 

WebInitializer.java

public class WebInitializer extends AbstractAnnotationConfigDispatcherServletInitializer{ 

    @Override 
    protected Class<?>[] getRootConfigClasses() { 
     return new Class[] {RootConfig.class}; 
    } 

    @Override 
    protected Class<?>[] getServletConfigClasses() { 
     return new Class[] {WebConfig.class}; 
    } 

    @Override 
    protected String[] getServletMappings() { 
     return new String[] {"/"}; 
    } 
} 

UserController.java

@RestController 
public class UserController { 

    @RequestMapping(value = "/", method = RequestMethod.GET) 
    public ModelAndView index(){ 
     ModelAndView modelandView = new ModelAndView("index"); 
     return modelandView; 
    } 
    . 
    . 
} 

index.jsp est sous /WEB-INF/views/index.jsp

enter image description here

J'utilise dépendances

<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-context</artifactId> 
</dependency> 

<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-web</artifactId> 
    <version>4.3.9.RELEASE</version> 
</dependency> 

<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-webmvc</artifactId> 
    <version>4.3.9.RELEASE</version> 
</dependency> 

<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-tx</artifactId> 
    <version>4.3.9.RELEASE</version> 
</dependency> 

<dependency> 
    <groupId>com.fasterxml.jackson.core</groupId> 
    <artifactId>jackson-databind</artifactId> 
    <version>2.9.0</version> 
</dependency> 

<dependency> 
    <groupId>javax.servlet</groupId> 
    <artifactId>javax.servlet-api</artifactId> 
    <version>3.1.0</version> 
</dependency> 

<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-jdbc</artifactId> 
    <version>4.3.10.RELEASE</version> 
</dependency> 


<dependency> 
    <groupId>commons-logging</groupId> 
    <artifactId>commons-logging</artifactId> 
    <version>1.2</version> 
</dependency> 

<dependency> 
    <groupId>mysql</groupId> 
    <artifactId>mysql-connector-java</artifactId> 
    <version>6.0.6</version> 
</dependency> 

<dependency> 
    <groupId>javax.servlet</groupId> 
    <artifactId>jstl</artifactId> 
    <version>1.2</version> 
</dependency> 

C'est tout ce que je suis arrivé. Corrigez-moi si mon code est erroné. Je serai heureux si je vois le texte Hello World écrit dans le corps index.jsp.

Répondre

0

Dans quel paquet sont vos classes de configuration? Sont-ils dans basePackages vous spécifiez? Essayez de ne pas spécifier les basePackages dans l'annotation d'analyse des composants.

+0

Les classes de configuration sont dans le package springrestful_example.config. –