Springboot内置tomcat配置虚拟路径过程解析

 更新时间:2020年04月08日 10:24:04   作者:Erneste  
这篇文章主要介绍了Springboot内置tomcat配置虚拟路径过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

  在Springboot中默认的静态资源路径有:classpath:/METAINF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,从这里可以看出这里的静态资源路径都是在classpath中(也就是在项目路径下指定的这几个文件夹)

  试想这样一种情况:一个网站有文件上传文件的功能,如果被上传的文件放在上述的那些文件夹中会有怎样的后果?

  • 网站数据与程序代码不能有效分离;
  • 当项目被打包成一个.jar文件部署时,再将上传的文件放到这个.jar文件中是有多么低的效率;
  • 网站数据的备份将会很痛苦。

  此时可能最佳的解决办法是将静态资源路径设置到磁盘的基本个目录。在Springboot中可以直接在配置文件中覆盖默认的静态资源路径的配置信息:application.properties配置文件如下:

spring.mvc.static-path-pattern=/**

spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,file:这里写自己的上传文件路径(注意要以/结尾)

  spring.mvc.static-path-pattern=/**表示所有的访问都经过静态资源路径;

  spring.resources.static-locations在这里配置静态资源路径,前面说了这里的配置是覆盖默认配置,所以需要将默认的也加上否则static、public等这些路径将不能被当作静态资源路径,在这个最末尾的file:${web.upload-path}之所有要加file:是因为指定的是一个具体的硬盘路径,其他的使用classpath指的是系统环境变量。

  由于前面已经在静态资源路径中上传了一个名为1.jpg的图片,也使用server.port=1122设置了端口号为1122,所以可以通过浏览器打开:http://localhost:1122/1.jpg访问到刚刚上传的图片。但是要注意,如果你在springboot的配置文件中加了属性server.context-path,即项目名,那么访问的时候一定要加上这个配置的属性值,不然404.

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Spring的InitializingBean接口解析

    Spring的InitializingBean接口解析

    这篇文章主要介绍了Spring的InitializingBean接口解析,InitializingBean是spring为bean的初始化提供了一种新的方式,里面只有一个方法afterPropertiesSet,作用就是实现这个接口或者实现了继承InitializingBean的方法的bean都要执行这个方法,需要的朋友可以参考下
    2024-02-02
  • 在Mac OS上安装Java以及配置环境变量的基本方法

    在Mac OS上安装Java以及配置环境变量的基本方法

    这篇文章主要介绍了在Mac OS上安装Java以及配置环境变量的基本方法,包括查看所安装Java版本的方法,需要的朋友可以参考下
    2015-10-10
  • Java 为什么要避免使用finalizer和Cleaner

    Java 为什么要避免使用finalizer和Cleaner

    这篇文章主要介绍了Java 为什么要避免使用finalizer和Cleaner,帮助大家更好的理解和学习使用Java,感兴趣的朋友可以了解下
    2021-03-03
  • Spring AOP中的JDK和CGLib动态代理哪个效率更高?

    Spring AOP中的JDK和CGLib动态代理哪个效率更高?

    今天小编就为大家分享一篇关于Spring AOP中的JDK和CGLib动态代理哪个效率更高?,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • Nacos1.4.0 Windows10单机模式启动和集群启动过程解析

    Nacos1.4.0 Windows10单机模式启动和集群启动过程解析

    这篇文章主要介绍了Nacos1.4.0 Windows10单机模式启动和集群启动,第一次使用nacos,废话不多说,记录下自己启动Nacos遇到的坑,感兴趣的朋友跟随小编一起看看吧
    2023-10-10
  • Spring Data JPA中的动态查询实例

    Spring Data JPA中的动态查询实例

    本篇文章主要介绍了详解Spring Data JPA中的动态查询。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • Spring Cloud Gateway不同频率限流的解决方案(每分钟,每小时,每天)

    Spring Cloud Gateway不同频率限流的解决方案(每分钟,每小时,每天)

    SpringCloud Gateway 是 Spring Cloud 的一个全新项目,它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式。这篇文章主要介绍了Spring Cloud Gateway不同频率限流(每分钟,每小时,每天),需要的朋友可以参考下
    2020-10-10
  • SpringBoot2开启Actuator端点监控的方法

    SpringBoot2开启Actuator端点监控的方法

    这篇文章主要介绍了SpringBoot2开启Actuator端点监控的相关资料,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • 使用Spring Security搭建极简的安全网站教程

    使用Spring Security搭建极简的安全网站教程

    这篇文章主要为大家介绍了使用Spring Security搭建极简的安全网站教程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • Java基于Rest Assured自动化测试接口详解

    Java基于Rest Assured自动化测试接口详解

    Rest Assured 是一个基于 Java 的流行的用于测试 RESTful API 的库。这篇文章主要介绍了Java如何基于Rest Assured实现自动化测试接口,需要的可以参考一下
    2023-03-03

最新评论