Spring MVC - RequestMapping

Recentemente adquiri o Ebook sobre Spring MVC e comecei a fazer o projeto do livro.

Me deparei com alguns problemas, entre eles, um erro no direcionamento que não conseguir resolver.

Na parte de cadastro de Produtos, na classe ProductsController, a aplicação não consegue direcionar para a página form.jsp pela url @RequestMapping("/produtos/form").

Aparece erro 404 dizendo que a aplicação não conseguiu localizar o endereço: http://localhost:8080/casadocodigo/produtos/WEB-INF/views/products/form.jsp

Caso eu deixe o mapeamento apenas com “produto” ou “form”, a aplicação direciona corretamente, mas se deixo dois nomes, ela se perde.

Alguém passou por isso?

Att.,
Alexandre

A sua URL contem a palavra “produtos” em ingles e no RequestMapping ela está em português. O diretório onde está o form.jsp não seria produtos e não products?

O direito está com o nome em inglês conforme o livro, e a URL do request
está em português mesmo…

A sua url de acesso deve ser:
http://localhost:8080/casadocodigo/produtos/form

Minha url está assim:

http://localhost:8080/casadocodigo/produtos/cadastro

Meu controller:

@RequestMapping("/produtos/cadastro")
public String form() {
return “produtos/form”;
}

MInha estrutura de pasta:

webapp -> WEB-INF -> views -> produtos -> form.jsp

Msg de erro:

404 - Message /casadocodigo/produtos/WEB-INF/views/produtos/form.jsp

Você tem seu projeto no github? Assim, eu poderia analisar melhor.

Alex,
Na classe AppWebConfiguration faça a correção do
resolver.setPrefix("WEB-INF/views/");
Veja que WEB-INF deve ser precedido de ‘/’.
O correto é:
resolver.setPrefix("/WEB-INF/views/");

Desta forma você pode acessar: http://localhost:8080/casadocodigo/produtos/cadastro que é sucesso.

Não havia me atendado para esse detalhe. Muito obrigado mesmo Gracyane… :grinning: