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

CSS não carrega Spring MVC

To tentando pegar assim

<link href="${contextPath}resources/css/fonts.css"
            rel="stylesheet" type="text/css" media="all" />

No F12 tá assim:

http://localhost:8080/casadocodigo/resources/css/cssbase-min.css

404

Meus arquivo de css e img tão no seguinte diretório:

Exemplo:

casadocodigo/src/main/webapp/resources/css/checkout-style.css
3 respostas
solução!

Olá, Rafael!

O Spring MVC desabilita o conteúdo do WebContent por padrão. É mais restrito que a Servlet pura.

Para habilitar, você precisa ir lá na configuração do Spring, o WEB-INF/spring-context.xml, e colocar:

<mvc:default-servlet-handler/>

Referência: https://www.caelum.com.br/apostila-java-web/spring-mvc/#configurar-o-spring-mvc-para-acessar-arquivos-comuns

Sabe como faze isso programaticamente?

Na sua classe de configuração, você precisa estender de WebMvcConfigurerAdapter e sobreescrever o método configureDefaultServletHandling, invocando o método enable() do parâmetro DefaultServletHandlerConfigurer.

A Aula 3 do curso Spring MVC II: Integração, cache, segurança e templates trata disso: https://cursos.alura.com.br/course/springmvc-2-integracao-cache-seguranca-e-templates/task/12239

O código fica assim:

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

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