Olá boa noite! Segui os passos do exercício para criar o controller de produtos. Porém ao tentar acessar o caminho:http://localhost:8080/casadocodigo/produtos/form estou recebendo o seguinte erro: /casadocodigo/produtos/WEB-INF/views/produtos/form.jsp
Acredito que esteja esquecendo algum passo, pois o caminho que a aplicação está buscando o form está errado,. Poderiam me auxiliar?
Segue abaixo minhas classes:
package br.com.casadocodigo.loja.controllers;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class ProdutosController {
@RequestMapping("/produtos/form")
public String form(){
return "produtos/form";
}
}
package br.com.casadocodigo.loja.conf;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
import br.com.casadocodigo.loja.controllers.HomeController;
@Configuration
@EnableWebMvc
@ComponentScan(basePackageClasses={HomeController.class})
public class AppwebConfiguration {
//indica onde está a view
//gera uma classe gerenciada pelo spring
@Bean
public InternalResourceViewResolver internalResourceViewResolver(){
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("WEB-INF/views/");
resolver.setSuffix(".jsp");
return resolver;
}
}
package br.com.casadocodigo.loja.controllers;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
//criação do controller do Spring
//tem que configurar primeiro as dependências no maven para reconhecer as annotations do spring
@Controller
public class HomeController {
@RequestMapping("/")
public String index(){
System.out.println("Entrando na home da CDC");
return "home";
}
}
package br.com.casadocodigo.loja.conf;
import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;
public class ServletSpringMVC extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getRootConfigClasses() {
// TODO Auto-generated method stub
return null;
}
@Override
protected Class<?>[] getServletConfigClasses() {
//retorna a classe que irá fazer a configuração
return new Class[]{AppwebConfiguration.class};
}
@Override
//mapeia a url que será atendida
protected String[] getServletMappings() {
//irá atender a /
return new String[]{"/"};
}
}