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
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.
Les classes de configuration sont dans le package springrestful_example.config. –