分类
商品
商品
店铺
资讯
分类
商品
商品
店铺
资讯

14:SpringBoot内置SpringMvc静态文件地址修改

  • 时间:2018-07-19 22:53 作者:java进阶架构师 来源:java进阶架构师 阅读:576
  • 扫一扫,手机访问
摘要:SpringMVC大家都不陌生,而被SpringBoot集成的SpringMVC除了配置与独立的优点差别,其余用都是一样的,一般的项目都会配置登录阻拦器,那假如我们的image、css、js是不是也会被阻拦器阻拦呢?答案是一定的,当然也不是必然的。我们在配置阻拦器的阻拦路径时可以过滤掉静态文件的路径

SpringMVC大家都不陌生,而被SpringBoot集成的SpringMVC除了配置与独立的优点差别,其余用都是一样的,一般的项目都会配置登录阻拦器,那假如我们的image、css、js是不是也会被阻拦器阻拦呢?答案是一定的,当然也不是必然的。我们在配置阻拦器的阻拦路径时可以过滤掉静态文件的路径规则。

14:SpringBoot内置SpringMvc静态文件地址修改

SpringBoot默认给我们配置了静态资源的地址转发,我们只要要将静态文件放到/resources/static目录下,即可以直接访问了。但是这样往往会暴露给使用户我们的项目结构,针对这一点我们需要修改静态资源的路径,下面我们开始本章节的内容。

本章目标

配置SpringBoot修改内置SpringMVC静态资源路径,提高项目目录结构的安全性。

构建项目

我们用InteiilJ IDEA工具创立一个SpringBoot项目,预先加入web板块的依赖,项目结构如下图1所示:

14:SpringBoot内置SpringMvc静态文件地址修改

图1

上图1我们的项目结构已经创立完成,下面我们俩创立一个测试阻拦器。

尝试访问静态文件

我们随意复制一张图片到我们的项目/resources/static目录下,如下图2所示:

14:SpringBoot内置SpringMvc静态文件地址修改

图2

接下来我们启动项目,启动成功后打开浏览器访问127.0.0.1:8080/t.png,查看能否可以展现图片内容,效果如下图3所示:

14:SpringBoot内置SpringMvc静态文件地址修改

图3

可以看到我们成功了访问到了图片,但是这样我们的项目目录就完全暴露了。我们如何做出修改呢?

配置自己设置静态资源路径

接下来我们创立一个名叫Chapter9Configuration的配置类,类内增加自己设置静态资源的配置,如下图4所示:

14:SpringBoot内置SpringMvc静态文件地址修改

图4

上述图4内容,我们配置了静态资源的路径为/yuqiyu/9/resources/**,那么只需访问地址前缀是/yuqiyu/9/resources/,就会被自动转到项目根目录下的static文件夹内。

如:我们访问:127.0.0.1:8080//yuqiyu/9/resources/t.png就会被解析成127.0.0.1:8080/t.png。

重启项目再次访问

我们重启下项目,打开浏览器访问地址:127.0.0.1:8080//yuqiyu/9/resources/t.png,假如正常就会成功访问到我们之前的t.png图片文件,效果如下图5所示:

14:SpringBoot内置SpringMvc静态文件地址修改

图5

上图5的结果证明了我的解释,我们通过新的地址的确可以访问到静态资源文件了。一般我们的项目不会讲资源文件直接放到static目录下,而是创立几个二级路径,如下图6所示:

14:SpringBoot内置SpringMvc静态文件地址修改

图6

我创立了一个imgs文件夹,将t.png图片移动到imgs目录下,那么我们在访问路径下只要要增加一个二级路径就可,我们再来重启下项目,访问地址:127.0.0.1:8080/yuqiyu/9/resources/imgs/t.png,我们通过这个路径是可以成功访问到图片的,所以不论你的资源文件怎样分类,只要要增加对应的二级路径即可以了。

总结

上面内容就是本章的一律讲解,本章主要讲述了SpringBoot项目集成的SpringMVC是如何自己设置静态资源路径的。SpringBoot为我们提供了很多便利,在传统的项目中我们必需要去配置静态资源路径才可以访问,而SpringBoot项目则不需要,它内部已经做了默认解决。


本公众号已开设如下二十大专题,欢迎关注,查看相关专题!

  • 【springboot专题】【spring源码】
  • 【mysql优化专题】【HTTP协议】
  • 【架构技术专题】【多线程专题】
  • 【dubbo专题】【dubbo源码专题】
  • 【JVM调优专题】【HTTP专题】
  • 【设计模式专题】【高并发专题】
  • 【架构技术专题】【Lucene专题】
  • 【数据结构专题】【redis专题】
  • 【mq中间件专题】【netty专题】
  • 【java面试专题】【zookeeper】
  • 全部评论(0)
最新发布的资讯信息
【系统环境|】极客时间-数据分析实战45讲【完结】(2021-09-02 16:26)
【系统环境|windows】字节跳动前台面试题解析:盛最多水的容器(2021-03-20 21:27)
【系统环境|windows】DevOps敏捷60问,肯定有你想理解的问题(2021-03-20 21:27)
【系统环境|windows】字节跳动最爱考的前台面试题:JavaScript 基础(2021-03-20 21:27)
【系统环境|windows】JavaScript 的 switch 条件语句(2021-03-20 21:27)
【系统环境|windows】解决 XML 数据应用实践(2021-03-20 21:26)
【系统环境|windows】20个编写现代CSS代码的建议(2021-03-20 21:26)
【系统环境|windows】《vue 3.0探险记》- 运行报错:Error:To install them, you can run: npm install --save core-js/modules/es.arra...(2021-03-20 21:24)
【系统环境|windows】浅谈前台可视化编辑器的实现(2021-03-20 21:24)
【系统环境|windows】产品经理入门迁移学习指南(2021-03-20 21:23)
血鸟云
手机二维码手机访问领取大礼包
返回顶部