静态资源目录
只要静态资源放在类路径下: called /static (or /public or /resources or /META-INF/resources都能够直接访问
访问 : 当前项目根路径/ + 静态资源名
因为它默认映射的是/** 也就是说我们只需要写资源名它就能自动给我们找到静态资源
请求进来,先去找Controller看能不能处理。不能处理的所有请求又都交给静态资源处理器。静态资源也找不到则响应404页面
package com.atguigu.boot.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author LunarYouI
* @create 2021-04-08 9:22
*/
@RestController
public class HelloController {
@RequestMapping("/A.jpg")
public String hell(){
return "静态资源里面有A.jpg 映射路径也叫A.jpg";
}
}
静态资源访问前缀
默认无前缀(static-path-pattern: /**)
spring:
mvc:
static-path-pattern: /LUO/**
当前项目 + static-path-pattern + 静态资源名 = 静态资源文件夹下找
现在再次访问A.jpg的图片就需要加上前缀才能访问得到,而直接访问(不加前缀)A.jpg就只能访问HelloController 类下的映射路径
改变默认的静态资源路径
static-locations: classpath:/haha/ :一个静态资源路径
static-locations: [classpath:/haha/] :以数组形式可以写多个静态资源路径
spring:
web:
resources:
static-locations: [classpath:/haha/]
现在访问BCD图片已经访问不到了,因为修改了默认的静态资源路径,它现在只能从haha里找到A.jpg
webjar
- 什么是WebJars?WebJars是将客户端(浏览器)资源(JavaScript,Css等)打成jar包文件,以对资源进行统一依赖管理。WebJars的jar包部署在Maven中央仓库上。
- 我们在开发Java web项目的时候会使用像Maven,Gradle等构建工具以实现对jar包版本依赖管理,以及项目的自动化管理,但是对于JavaScript,Css等前端资源包,我们只能采用拷贝到webapp下的方式,这样做就无法对这些资源进行依赖管理。那么WebJars就提供给我们这些前端资源的jar包形势,我们就可以进行依赖管理。
使用
webjar官网
将jquery依赖导入pom.xml中
<dependency>
<groupId>org.webjars</groupId>
<artifactId>jquery</artifactId>
<version>3.6.0</version>
</dependency>
现在我们可以试着访问访问jquery