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

Não carrega CSS

Estou com o mesmo problema do amigo acima, css não carrega importei o arquivo zip como foi ensinado no exercicio, o caminho cheguei a colocar manual sem o contexPath, mesmo assim nao carrega da o erro 404.

24 respostas

Depois de algum tempinho achei a seguinte solução: Olha como ficou meu AppWebConfigurantion:

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

    @Bean
    public InternalResourceViewResolver internalResourceViewResolver() {
        InternalResourceViewResolver resolver = new InternalResourceViewResolver();
        resolver.setPrefix("/WEB-INF/views/");
        resolver.setSuffix(".jsp");

        return resolver;
    }

    @Bean
    public MessageSource messageSource() {
        ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
        messageSource.setBasename("/WEB-INF/messages");
        messageSource.setDefaultEncoding("UTF-8");
        messageSource.setCacheSeconds(1);

        return messageSource;
    }

    @Bean
    public FormattingConversionService mvcConversionService() {
        DefaultFormattingConversionService conversionService = new DefaultFormattingConversionService();
        DateFormatterRegistrar registrar = new DateFormatterRegistrar();
        registrar.setFormatter(new DateFormatter("dd/MM/yyyy"));
        registrar.registerFormatters(conversionService);

        return conversionService;
    }

    @Bean
    public MultipartResolver multipartResolver() {
        return new StandardServletMultipartResolver();
    }

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/resources/**").addResourceLocations(
                "/resources/");
    }
}

Solução foi extender o WebMvcConfigurerAdapter, e dar um @Override no addResourceHandlers registrando o caminho que fica a pasta resources

Fábio tentei não deu certo, movi pra outras pastas o css e mostrei o caminho delas e nada, faço a inspecao pelo google do css que é carregado na pagina, apenas 1 é carregado o de endereco é web, o restante tudo Status 404.

 <link href="/casadocodigo/src/main/webapp/resources/css/book-collection.css" 
            rel="stylesheet" type="text/css"  media="all"  />


``

eu to acessando os arquivos do mesmo modo que já veio no detalhe.jsp do zip, você modificou?

<c:url value="/" var="contextPath" />
<link href="${contextPath}resources/css/cssbase-min.css"
            rel="stylesheet" type="text/css" media="all" />

a minha pasta resources tá dentro do webapp junto com as pastas arquivos-sumarios e WEB-INF como aparentemente o seu está se tiver tudo certo, qualquer coisa da um refresh no projeto, um clean no server e um ctrl+f5 no navegador as vezes é isso

Não modifiquei, só adicionei outras referencias colocando todo endereço do local do arquivo e mesmo assim continua a nao achar,

Os arquivos CSS referenciado aparece,mas vazio do conteúdo original, e exibe essa msg

<html><head><title>Apache Tomcat/7.0.69 - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 404 - </h1><HR size="1" noshade="noshade"><p><b>type</b> Status report</p><p><b>message</b> <u></u></p><p><b>description</b> <u>The requested resource is not available.</u></p><HR size="1" noshade="noshade"><h3>Apache Tomcat/7.0.69</h3></body></html>


`

estranho, aqui está desse modo http://imgur.com/Y111zL4

E o detalhe.jsp ta abrindo normal mas só sem o css?

o que parece que a pasta esta bloqueado para leitura mas nao sei o que é.

Image and video hosting by TinyPic

isso abre normal, sem o css

Image and video hosting by TinyPic

e modificou o AppWebConfiguration do jeito que eu coloquei? pq realmente o resto tá igual aqui :/

achei outro modo, apaga aquele método addResourceHandlers que eu passei e implementa outro método:

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

nada, alterei o caminho do css pra todos possiveis e nada, continua nao achando o caminho.

Boa noite!

Estou com o mesmo problema do Rodrigo, realizei todos os testes e implementações e nada.

Alguém pode me ajudar?

Bom dia!

Consegui resolver, foi só seguir o que Fábio mencionou, criar a pasta resources em src/main/webapp e mover as pastas css e imagens.

Obrigado Fábio.

Olá, Estou com o mesmo problema. Não consegui carregar os css, sendo que no Source da página contem todos.

Pessoal, eu fiz o que o Fabio Baptista indicou e funcionou aqui também. Obrigado, Fabio.

Olá, não consegui fazer carregar os css na minha página. Como ficou resolvido?

solução!

Consegui resolver com a primeira sugestão do Fábio. Fazendo a AppWebConfiguration extender o WebMvcConfigurerAdapter, e dar um @Override no addResourceHandlers.

Segue o que o Fábio falou, na documentação do Spring MVC:

http://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html#mvc-default-servlet-handler

A primeira solução funcionou perfeitamente pra mim, a segunda estava dando erro no override.

Consegui arrumar utilizando a primeira solução.

Deu certo como o Fábio explicou no inicio, geralmente alguns problemas se dão pela falta de atenção na hora da digitação, é assim mesmo, com calma dá certo ;)

O primeiro passo é extender a classe AppWebConfiguration da classe org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter

public class AppWebConfiguration extends WebMvcConfigurerAdapter { ... }

Sobrescrever o método public void addResourceHandlers(ResourceHandlerRegistry registry)

@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
  registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
}

Verifique se a pasta resources está o local correto

.
├── java
│   └── br
│       └── com
│           └── casadocodigo
│               └── loja
│                   ├── conf
│                   │   ├── AppWebConfiguration.java
│                   │   ├── JPAConfiguration.java
│                   │   └── ServletSpringMVC.java
│                   ├── controller
│                   │   ├── HomeController.java
│                   │   └── ProdutosController.java
│                   ├── daos
│                   │   └── ProdutoDAO.java
│                   ├── infra
│                   │   └── FileSaver.java
│                   ├── models
│                   │   ├── Preco.java
│                   │   ├── Produto.java
│                   │   └── TipoPreco.java
│                   └── validation
│                       └── ProdutoValidation.java
└── webapp
    ├── arquivos-sumario
    ├── index.html
    ├── resources
    │   ├── css
    │   │   ├── book-collection.css
    │   │   ├── checkout.scss.css
    │   │   ├── checkout-style.css
    │   │   ├── cssbase-min.css
    │   │   ├── fontello.css
    │   │   ├── fontello-embedded.css
    │   │   ├── fontello-ie7.css
    │   │   ├── fonts.css
    │   │   ├── guia-do-programador-style.css
    │   │   ├── layout-colors.css
    │   │   ├── produtos.css
    │   │   ├── responsive-style.css
    │   │   └── style.css
    │   └── imagens
    │       └── cdc-logo.svg
    └── WEB-INF
        ├── messages.properties
        └── views
            ├── home.jsp
            └── produtos
                ├── detalhe.jsp
                ├── form.jsp
                ├── lista.jsp
                └── ok.jsp

Sobre os arquivos, durante o import ele cria uma pasta "casadocodigo" emcima do projeto "casadocodigo", tive que fazer um refactor e mover para o local correto.

@Ythalo Rossy Saldanha Lira,

Muito Obrigado. O CSS só passou a responder depois dos passos informados por você na configuração do AppWebConfiguration.

Abcs, Marcos