【SpringBoot】浏览器报错Resource interpreted as Stylesheet but transferred with MIME type text/html

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;
    }
发布了574 篇原创文章 · 获赞 203 · 访问量 19万+

猜你喜欢

转载自blog.csdn.net/sinat_42483341/article/details/104095196