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

MIME type text/html

Ola,

Não estou conseguindo acessar o conteúdo da pasta resources, o navegador me apresenta o seguinte erro:

Resource interpreted as Stylesheet but transferred with MIME type text/html: "http://localhost:8080/Projeto/resources/css/bootstrap.min.css".

a pasta resources está dentro da pasta webapp

E os métodos que possam ter alguma configuração esquisita estão assim:

@Override
    public void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests()
           .antMatchers("/cadastro").hasRole("ADMIN")
           .antMatchers("/resources/**").permitAll()
           .antMatchers("/").permitAll()
           .anyRequest().authenticated()
           .and().formLogin().loginPage("/login").permitAll()
           .and().logout().logoutRequestMatcher(new AntPathRequestMatcher("/logout"));
    }
    @Override
    public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
        configurer.enable();
    }
@Controller
public class HomeController {

    @RequestMapping(value="/", method=RequestMethod.GET)
    public ModelAndView index(){
        ModelAndView modelAndView = new ModelAndView("home");

        return modelAndView;
    }

}

Estou chamando meu css assim:

< c:url value="resources/css" var="cssPath" /> < link rel="stylesheet" href="${cssPath}/bootstrap.min.css" type="text/css" />

Alguém sabe me dizer o que está acontecendo ?

2 respostas

Fala Lucas, tudo bem ?

Acho que o response que seu server manda de volta deve estar com o Content-type errado, o difícil é saber o porquê. Dê uma conferida pelo dev tools do seu navegador (aba network) e analise pra termos certeza.

Tente adicionar a / do path absoluto antes de resources na c:url:

<c:url value="/resources/css" var="cssPath" />
<link rel="stylesheet" type="text/css" href="${cssPath}/bootstrap.min.css"  />

É possível usar também o método específico para o filtro do security ignorar tudo em relação à pasta /resources:

@Override
public void configure(WebSecurity web) throws Exception {
    web.ignoring().antMatchers("/resources/**");
}

Mas realmente é estranho, porque o server devolve o css. =/

solução!

Cara, eu consegui !

O problema era o mapeamento da Home

Estava assim

@Controller
public class HomeController {

    @RequestMapping(value="/home", method=RequestMethod.GET)   
        public String index() {
            return "home";
        }

}

quando deveria estar assim

@Controller
public class HomeController {

    @RequestMapping(value="/", method=RequestMethod.GET)   
        public String index() {
            return "home";
        }

}

Mas muito obrigado pelo retorno !