springboot拦截html页面元素,微服务 SpringBoot 2.0(八):静态资源和拦截器处理

一文搞清楚静态资源和拦截器 —— Java面试必修

引言

接触一个web项目,首先要确认的就是入口,所以静态资源和拦截器在项目中是架构级的,在第五章我们整合了Thymeleaf模块,初次认识了SpringBoot对静态资源的默认支持。今天我们来继续学习SpringBoot中如何合理的存放静态资源,如何根据我们自身需要来进行扩展资源和拦截器的扩展。

在接下来的文章中,我在末尾处会公布源码,源码将托管在码云上

静态资源

工具

SpringBoot版本:2.0.4

开发工具:IDEA 2018

Maven:3.3 9

JDK:1.8

在web开发中,静态资源的访问是必不可少的,如:图片、js、css 等资源的访问。

Spring Boot 对静态资源访问提供了很好的支持,基本使用默认配置就能满足开发需求,Spring Boot 对静态资源映射提供了默认配置:

自动映射 localhost:8080/** 为

classpath:/META-INF/resources

classpath:/resources

classpath:/static

classpath:/public

自动映射 localhost:8080/webjars/** 为

classpath:/META-INF/resources/webjars/

依据1类推

小实验:分别在4个文件夹下放置同名不同内容的图片,然后根据访问情况记录图片内容,访问 http://localhost:8080/a.png,然后一张张图片进行删减

你会发现这些路径的优先级顺序为:META-INF/resources > resources > static > public,即默认先找第一个文件夹,如果找到了,那么就直接取那张,否则接着找第二个文件夹,依此类推

6469e9c37605

实验图

此时,我们不需要多作些什么,只需要将静态资源放入 src/main/resources 目录下的 resources、static 或 public 文件夹下,可直接通过localhost:8080/a.jpg 定位相关资源,不要问为什么,因为这4个目录都是SpringBoot作为(默认)的静态资源路径

自定义静态资源映射

在实际开发中,可能需要自定义静态资源访问路径,那么可以继承[WebMvcConfigurerAdapter | WebMvcConfigurer ] 或 更改配置文件来实现

一、代码配置

在旧版中,一般继承 WebMvcConfigurerAdapter类,但由于2.0后,前者已经过时,WebMvcConfigurer 接口中定义了很多default方法(基于jdk1.8+ ),所以2.0后实现WebMvcConfigurer接口就好了。注:使用代码实现不会覆盖系统默认4种方式(同名定义除外)

SpringBoot 1.x写法

@Configuration

public class CustomerMvcConfigurerAdapter extends WebMvcConfigurerAdapter {

@Override

public v

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值