Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida no Ex. 5 da Aula 9 - Url amigáveis

Realizei o processo como indicado no exercício 1 ( https://s3.amazonaws.com/caelum-online-public/spring-mvc-1-criando-aplicacoes-web/detalhe-com-css.zip) para download e import do código fonte da página e css.

A funcionalidade está ok, mas o CSS não é encontrado. (Erro 404).

Os arquivos css estão no diretório correto conforme exercício: src > main > webapp > resources > css

Não estaria faltando nenhuma configuração de ResouceResolver na AppWebConfiguration? Alguém tem alguma dica?

2 respostas
solução!

Realmente só pela aula 9 não iria funcionar.

Descobri como corrigir na aula 3 do curso Spring MVC II (https://www.alura.com.br/course/springmvc-2-integracao-cache-seguranca-e-templates/section/3/1)

Basicamente, por padrão o spring pega qualquer requisição, inclusive o link de arquivos css e javascript. Para corrigir isso precisamos fazer a nossa classe de configuração herdar de WebMvcConfigurerAdapter e sobreescrever o método configureDefaultServletHandling.

@EnableWebMvc
@EnableCaching
@ComponentScan(basePackageClasses={HomeController.class, ProdutoDAO.class, FileSaver.class, CarrinhoCompras.class})
public class AppWebConfiguration extends WebMvcConfigurerAdapter{

    // códigos de outros métodos

    @Override
    public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
        configurer.enable();
    }

Acho que cabe uma correção na Aula 9 do curso Spring MVC I. Minha sugestão é incluir hospedar os CSS antigos e disponibilizar por link (como no vídeo) ao invés de termos que baixar o CSS. Assim não precisa antecipar a configuração de DefaultServletHandling.

O ideal é que essa solução seja incluída nas aulas ou nos exercícios, pois o site da casa do código já sofreu modificações.