zoukankan      html  css  js  c++  java
  • springboot 访问jar同级别下的文件访问问题

    最近使用springboot打包上传的时候遇到一个问题,就是访问与jar同级别的文件,之前使用最多的是war形式,所以很好设置静态资源路径。

    但是jar是看不到里面的文件夹的,所以把文件上传到与jar同级别的upload下,这样就需要在项目中设置upload也应该是静态资源。

    关键代码

    //静态资源配置
        @Override
        public void addResourceHandlers(ResourceHandlerRegistry registry) {
            //需要配置1:--- 需要告知系统,这是要被当成静态文件的!  设置内部静态资源
            //第一个方法设置访问路径前缀,第二个方法设置资源路径
            registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
            registry.addResourceHandler("/upload/**").addResourceLocations("classpath:/upload/");
            registry.addResourceHandler("/templates/**").addResourceLocations("classpath:/templates/");
         //关键在这
            //  获取与jar同级目录下的upload文件夹  设置与jar同级静态资源配置
            ApplicationHome h = new ApplicationHome(this.getClass());
            // 本地获取的路径 D:ideaspringboot2.x	arget  upload 跟 项目jar平级
            String path = h.getSource().getParent();
            String realPath = path + "/upload/";
            registry.addResourceHandler("/upload/**").addResourceLocations("file:"+realPath);
        }

    设置好之后,还遇到了一个问题,css,js加载不了,因为我使用的是nginx处理的静态资源,也要将这些进行代理,代码如下

    server {
      listen 80;
      server_name springboot.kingsuper.net;
      access_log /data/wwwlogs/springboot.kingsuper.net_nginx.log combined;
      index index.html index.htm index.jsp;
      root /data/wwwroot/springboot.kingsuper.net;
      
      #error_page 404 /404.html;
      #error_page 502 /502.html;
      
      location ~ .*.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ {
        proxy_pass http://127.0.0.1:8080;
        expires 30d;
        access_log off;
      }
    
      location ~ .*.(js|css)?$ {
        proxy_pass http://127.0.0.1:8080;
        expires 7d;
        access_log off;
      }
    
      location ~ /.ht {
        deny all;
      }
      
      location ~ {
        proxy_pass http://127.0.0.1:8080;
        include proxy.conf;
      }
    }

    设置好之后,就可以访问了,over

  • 相关阅读:
    HashMap(HashSet)的实现
    C/C++ 安全编码 —— 指针与内存
    AlexNet神经网络结构
    查看,修改动态组成员/通讯组
    刷新已禁用用户邮箱状态
    监控DAG状态
    AD诊断命令
    PowerShell管理Exchange
    TCP连接(Time_Wait、Close_Wait)说明
    IIS配置(安装IIS、.Net、更改IIS Log目录位置)
  • 原文地址:https://www.cnblogs.com/SeaWxx/p/10935209.html
Copyright © 2011-2022 走看看