CSS 样式不能正常加载
发现页面的样式没有显示,报错信息如下:
Resource interpreted as Stylesheet but transferred with MIME type text/html: “http://localhost:8080/curd/asserts/css/signin.css”.
原因
之前写原生 jsp + servlet 的时候也遇到过这个问题,当时是因为Filter
过滤器。原文:
【JavaWeb】已解决:Resource interpreted as Stylesheet but transferred with MIME type text/html
这次用 SpringBoot 又遇到了同样的问题,所以直接猜测,是因为添加了Intercepter
拦截器。
解决方式
在addinterceptors方法 excludePathPatterns中排除了项目的资源路径,重启项目,OK,效果图:
附,拦截器代码:
原有拦截器:
//所有的WebMvcConfigureAdapter组件会一起起作用
@Bean//将组件注册在容器
@SuppressWarnings("all")
public WebMvcConfigurerAdapter webMvcConfigurerAdapter() {
WebMvcConfigurerAdapter adapter = new WebMvcConfigurerAdapter() {
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/").setViewName("login");
registry.addViewController("/index.html").setViewName("login");
registry.addViewController("/main.html").setViewName("dashboard");
}
//注册拦截器
@Override
public void addInterceptors(InterceptorRegistry registry) {
// super.addInterceptors(registry);
//拦截所有,手动放行部分
//静态资源不需要处理,可以正常访问。springboot已经做好了静态资源映射
registry.addInterceptor(new LoginHandlerInterceptor()).addPathPatterns("/**").excludePathPatterns("/index.html","/","/user/login");
}
};
return adapter;
}
修改后:
//所有的WebMvcConfigureAdapter组件会一起起作用
@Bean//将组件注册在容器
@SuppressWarnings("all")
public WebMvcConfigurerAdapter webMvcConfigurerAdapter() {
WebMvcConfigurerAdapter adapter = new WebMvcConfigurerAdapter() {
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/").setViewName("login");
registry.addViewController("/index.html").setViewName("login");
registry.addViewController("/main.html").setViewName("dashboard");
}
//注册拦截器
@Override
public void addInterceptors(InterceptorRegistry registry) {
// super.addInterceptors(registry);
//拦截所有,手动放行部分
//静态资源不需要处理,可以正常访问。springboot已经做好了静态资源映射
registry.addInterceptor(new LoginHandlerInterceptor()).addPathPatterns("/**")
.excludePathPatterns("/","login","/login", "/login.html", "/user/login", "/**/*.css", "/**/*.js", "/**/*.png",
"/**/*.jpg","/**/*.jpeg", "/**/*.gif", "/**/fonts/*", "/**/*.svg","/**/*.ico","/**/*.map");
}
};
return adapter;
}