Springboot访问静态资源
时间:2019-11-17
本文章向大家介绍Springboot访问静态资源,主要包括Springboot访问静态资源使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Springboot访问静态资源
参考
默认的静态资源位置
classpath:/META-INF/resources/
> classpath:/resources/
> classpath:/static/
> classpath:/public/
@ConfigurationProperties(prefix = "spring.resources", ignoreUnknownFields = false)
public class ResourceProperties {
private static final String[] CLASSPATH_RESOURCE_LOCATIONS = {
"classpath:/META-INF/resources/",
"classpath:/resources/",
"classpath:/static/",
"classpath:/public/" };
public void setStaticLocations(String[] staticLocations) {
this.staticLocations = appendSlashIfNecessary(staticLocations);
}
private String[] appendSlashIfNecessary(String[] staticLocations) {
String[] normalized = new String[staticLocations.length];
for (int i = 0; i < staticLocations.length; i++) {
String location = staticLocations[i];
normalized[i] = location.endsWith("/") ? location : location + "/";
}
return normalized;
}
}
自定义静态资源位置
方法一:配置文件 spring.resources.static-locations
# windows中2种斜杠都可以,Linux中使用右斜杠。统一使用右斜杠。
spring:
resources:
#static-locations: classpath:/mybatis/, file:E:\image\account\img
static-locations: classpath:/mybatis/, file:E:${server.servlet.context-path}/image/account/img
方法二:实现WebMvcConfigurer接口
package com.mozq.boot.upload01.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
/*
注意:结尾一定以斜杠结尾,不然不起效果。
*/
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/**")
.addResourceLocations("file:E:\\mozq\\image\\account\\img\\",
"classpath:/static/",
"file:e:/mozq/");
}
}
静态资源访问路径匹配
# 指定以.txt结尾的url是访问静态资源。
spring:
mvc:
static-path-pattern: /**/*.txt
@ConfigurationProperties(prefix = "spring.mvc")
public class WebMvcProperties {
private String staticPathPattern = "/**";
}
原文地址:https://www.cnblogs.com/mozq/p/11877618.html
- MySQL在RR隔离级别下的unique失效和死锁模拟
- Golang语言--glog日志库使用
- 一个MySQL死锁问题的复现
- Spring Boot 2.0 新特性(一):配置绑定 2.0 全解析
- MySQL断电恢复的一点简单分析
- Spring Boot 2.0 新特性(二):新增事件ApplicationStartedEvent
- 奇怪的go语言iota
- Golang web服务器处理前端HTTP请求跨域的方法
- MySQL死锁的两个小案例
- Go 的浏览器集成测试
- 关于数据库Prepare返回指针的的问题
- 怎么设置 http 请求 并发 连接数 限制
- MySQL 5.7中锁的一个通用问题
- golang 中sync.WaitGroup以及select简单实用
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- python-剑指offer1-5
- Java中的mutable和immutable对象
- python-剑指offer6-10
- 为什么DBA不让给MySQL数据库中加触发器呢?
- python-剑指offer11-15
- python-剑指offer16-20
- ArrayList源码学习
- Java程序员不缺对象,缺的是对象存储
- StringBuffer StringBulider String的区别
- 求X值问题
- python-剑指offer21-40
- Java8实战--引入流
- ThingJS数据对接方法介绍——Ajax
- python-剑指offer41-62
- 【python-opencv】读取、显示、写入图像