当前位置:网站首页>8. WEB 开发-静态资源访问
8. WEB 开发-静态资源访问
2022-08-10 23:35:00 【要学就学灰太狼】
8.1 官方文档
- 在线文档 ==> 官方文档
8.2 基本介绍
- 只要静态资源放在类路径下: /static 、 /public 、 /resources 、 /META-INF/resources 可以被直接访问- 对应文件 WebProperties.java
private static final String[] CLASSPATH_RESOURCE_LOCATIONS = {
"classpath:/META-INF/resources/",
"classpath:/resources/", "classpath:/static/", "classpath:/public/" };
- 常见静态资源:JS、CSS 、图片 (.jpg .png .gif .bmp .svg)、字体文件 (Fonts) 等
- 访问方式:默认: 项目根路径/ + 静态资源名 比如 http://localhost:8080/hi.jpg - 设置 WebMvcProperties.java
/** * Path pattern used for static resources. */
private String staticPathPattern = "/**";
8.3 快速入门
- 创建 SpringBoot 项目 springbootweb ,使用灵活配置方式来创建项目
- 创建相关静态资源目录,并放入测试图片,没有目录,自己创建即可,完成测试

----------浏览器测试结果如下----------




8.4 静态资源访问注意事项和细节
- 静态资源访问原理:静态映射是 /** ,也就是对所有请求拦截,请求进来,先看 Controller 能不能处理,不能处理的请求交给静态资源处理器,如果静态资源找不到则响应 404 页面

- 改变静态资源访问前缀,比如我们希望 http://localhost:8080/xjsres/* 去请求静态资源,应用场景:静态资源访问前缀和控制器请求路径冲突
- 创建 D:\xjs_springboot\springbootweb\src\main\resources\application.yml
spring:
mvc:
static-path-pattern: /xjsres/**
- 重启应用,完成测试,浏览器输入: http://localhost:8080/xjsres/1.jpg

- 改变默认的静态资源路径,比如希望在类路径下增加 xjsimg 目录 作为静态资源路径,并完成测试
- 如图所示

- 配置 D:\xjs_springboot\springbootweb\src\main\resources\application.yml
spring:
mvc:
static-path-pattern: /xjsres/** #修改静态资源访问的路径/前缀
web:
resources:
#修改/指定 静态资源的 存放路径/位置
#注意:配置了 static-locations 原来的访问路径就被覆盖了,如果需要保留,要再指定一下
static-locations: ["classpath:/xjsimg/", "classpath:/META-INF/resources/",
"classpath:/resources/", "classpath:/static/", "classpath:/public/"] # String[] staticLocations
测试:
- 浏览器输入:http://localhost:8080/xjsres/6.jpg
- 另外因为 6.jpg 还是拷贝来的,一定要保证工作目录 target 有 6.jpg
- 如果没有,请 rebulid 下项目,再重启项目

- 如果你配置 static-locations,原来的访问路径就被覆盖,如果需要保留,你再指定一下即可

边栏推荐
- C language, operators of shift operators (> >, < <) explanation
- 产品web3d效果动态展示更生动形象
- Kubernetes 选举机制HA
- 如何快速把握行业机会,更高效地推陈出新,是一个重要的命题
- 正交基(线性代数)
- 使用PageHelper自定义PageInfo进行分页+模糊查询
- 服务器小常识
- 【C语言】数据储存详解
- Microsoft: Into Focus with Scott Guthrie Scott Hanselman Rajesh Jha and Kevin Scott | KEY11
- 大厂社招:Android 高级工程师的面试题,你知道多少?
猜你喜欢
随机推荐
HGAME 2022 Week4 writeup
CSAPP lab
Multilingual Translation - Multilingual Translation Software Free
十年架构五年生活-08 第一次背锅
【C语言】C语言程序设计:动态通讯录(顺序表实现)
ACTF 2022 writeup
细谈APP开发焦点问题:AMS 系统时间调节原理
后疫情时代,VR全景营销这样玩更加有趣!
Easy-to-use translation plug-in - one-click automatic translation plug-in software
【C语言】数据储存详解
iNFTnews | Web3时代,用户将拥有数据自主权
特殊类与类型转换
C语言篇,操作符之 移位运算符(>>、<<)详解
App 启动速度优化系列:如何用一个placeholderUI来做初始化工作
ROS实验笔记之——UZH-FPV数据集的验证
VMware 虚拟机开启Ip地址自动更换解决
服务器小常识
iNFTnews | In the Web3 era, users will have data autonomy
大厂面试热点:“热修复机制及常见的几个框架介绍”
工作记录:DB2查询数据,当字段为空时,赋值







![[C language] First understanding of pointers](/img/f2/3e28381212beabae85b832526808d2.png)

