开发者

SpringBoot2.x过后static下的静态资源无法访问的问题

开发者 https://www.devze.com 2023-01-12 10:47 出处:网络 作者: 苍穹之跃
目录SpringBoot2.x过后static下的静态资源无法访问使用SpringBoot2.xpython时遇到静态资源访问不到的坑坎坷一坎坷二解决总结SpringBoot2.x过后static下的静态资源无法访问
目录
  • SpringBoot2.x过后static下的静态资源无法访问
  • 使用SpringBoot2.xpython时遇到静态资源访问不到的坑
    • 坎坷一
    • 坎坷二
    • 解决
  • 总结

    SpringBoot2.x过后static下的静态资源无法访问

    package com.example.thymeleaf.commons;
     
    import org.springframework.stereotype.Component;
    import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
    import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
     
    /**
     * 配置静态资源映射
     *
     android* @author sunziwen
     * @version 1.0
     * @date 2018-11-16 14:57
     **/
    @Component
    public class WebMvcConfig implements WebMvcConfigurer {
        /**
         * 添加静态资源文件,外部可以直接访问地址
         *
         * @param registry
         */
        @Override
        public void addResourceHandlers(ResourceHandlerRegistry registry) {
            registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
        }
    }

    使用SpringBoot2.x时遇到静态资源访问不到的坑

    问题

    最近项目当中有一个需求就是:下载excel模板。当时我笑了,这个简单!毕竟以前做过这样的需求,于是乎二话不说直接开码,做法如下: 

    坎坷一

    javascript

    因为springboot很方便,直接在static文件下放入我的模板

    SpringBoot2.x过后static下的静态资源无法访问的问题

    于是乎我开心的请求了我的路径:http://localhost:802js0/excel/demo.xlsx

    SpringBoot2.x过后static下的静态资源无法访问的问题

    什么鬼!!!?和我想象的不~~~~一样!我们不一样?

    坎坷二

    进过一番琢磨,虽然springboot默认设置编程客栈了静态文件路径,但是这里我还是想做个配置明确一下我的静态文件文件路径:

    SpringBoot2.x过后static下的静态资源无法访问的问题

    配置好了以后,我悄悄的点了以上路径,结果?还是不行。

    解决

    后来我搜索了相关资料,发现这个和springBoot的版本有关,2.X以后的版本如果想访问静态资源就不能直接访问了,需要经过一翻配置。

    这里分享一个链接:https://www.jb51.net/article/272426.htm

    这里是说明了为什么不能访问静态资源。

    好了,这里我是这么解决:

    有必要说一下,我以前的项目使用的是springboot 1.4.4.RELEASE,现在使用的是springboot 2.0.6.RELEASE。

    在我的项目当中我使用了WebMvcConfigurationSupport这个类,所以我做了如下改变:

    SpringBoot2.x过后static下的静态资源无法访问的问题

    (ps:配置里面的 srping.mvc.static-path-pattern: /static/** 是可以干掉的)

    然后请求:http://localhost:8020/static/excel/demo.xlsx

    SpringBoot2.x过后static下的静态资源无法访问的问题

    这里注意哦,需要加上static哦。看完上面分享的链接我想大家就会明白为什么了。

    版本果然很坑,希望大家以后遇到类似的问题的开发者_JAV培训时候,能够考虑到这一点哦。

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

    0

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    关注公众号