Olá, estou com um erro que tem apresentado um comportamento estranho no request mapping. Se eu coloco apenas um nome no mapeamento [Ex: @RequestMapping("cadastro") ] , a pagina é encontrada, mas se adiciono mais alguma coisa [ex: @RequestMapping("cadastro/tela")] recebo o erro 404.
O caminho apontado pelo tomcat é este: HTTP Status 404 - /casadocodigo2/cadastro/WEB-INF/views/produtos/form.jsp (a única coisa errada neste endereço é o termo "cadastro", ele não existe na estrutura do projeto.
Alguma idéia de pq isto acontece?
package org.casadocodigo2.loja.controllers;
import org.casadocodigo2.loja.models.Produto;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class ProdutosController {
@RequestMapping("cadastro/tela")
public String form() {
System.out.println("passei pelo form");
return "produtos/form";
}
@RequestMapping("/produtos2")
public String grava(Produto produto) {
System.out.println("passei pelo grava");
System.out.println(produto.toString());
return "produtos/ok";
}
}
package org.casadocodigo2.loja.conf;
import org.casadocodigo2.loja.controllers.HomeController;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
@EnableWebMvc
@ComponentScan(basePackageClasses= {HomeController.class})
public class AppWebConfiguration {
@Bean
public InternalResourceViewResolver internalResourceViewResolver() {
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
System.out.println("passei pelo InternalResourceViewResolver");
resolver.setPrefix("WEB-INF/views/");
resolver.setSuffix(".jsp");
return resolver;
}
}