"classpath:/META-INF/resources/" "classpath:/resources/" "classpath:/static/" "classpath:/public/"
如果要访问的话,是当前项目的根路径+静态资源名。 因为这个图片的名称是favicon.ico,因此在访问网站的时候,在页面的左上角,会出现一个小图标。 原理: 静态映射/**。 请求进来,先去找Controller看能不能处理。不能处理的所有请求又都交给静态资源处理器。静态资源也找不到则响应404页面,因此,如果请求和静态资源同名的话,先处理请求。
因为这个图片的名称是favicon.ico
原理: 静态映射/**。
优先级:resources>static>public 我们可以在resources根目录下新建对应的文件夹,都可以存放我们的静态文件;
优先级:resources>static>public
比如我们访问 http://localhost:8080/1.js , 他就会去这些文件夹中寻找对应的静态资源文件;
SpringBoot启动默认加载 xxxAutoConfiguration 类(自动配置类)。SpringMVC功能的自动配置类 WebMvcAutoConfiguration生效 给容器中配置了下面这个组件 配置文件的相关属性和xxx进行了绑定。WebMvcProperties=spring.mvc,ResourceProperties=spring.resources 点开WebProperties,我们会发现其中的静态的静态的资源路径已经默认的给配好了。 不过我们可以会静态资源的默认路径进行更改。
SpringBoot启动默认加载 xxxAutoConfiguration 类(自动配置类)。SpringMVC功能的自动配置类 WebMvcAutoConfiguration生效
我们也可以自己通过配置文件来指定一下,哪些文件夹是需要我们放静态资源文件的,在application.properties中配置: 一旦自己定义了静态文件夹的路径,原来的自动配置就都会失效了!
这在springboot中同样是有默认配置的。 点开WebMvcProperties,在其中我们可以找到下面这个属性 因此在springboot中是没有配置访问前缀的,我们可以自己配置。 当前项目 + static-path-pattern + 静态资源名 = 静态资源文件夹下找,在这里修改了静态资源的访问位置和访问前缀,我们是可以是可以访问的,但是如果是访问欢迎页的话,是可能出现错误的。 没有加前缀的情况下。 加了前缀的情况下。 是访问不了欢迎页的。 我们来看看其中的原因。 点开WebMvcAutoConfiguration这个类,我们可以找一下处理欢迎页请求的Handlermapping。 点开WelcomePageHandlerMapping,我们可以看到在这个类的代码中对是否请求欢迎页进行了判断。 从第一个if我们可以看出来,一旦我们修改了前缀的话,就不会访问到欢迎页了。
springboot已经配置了当我们访问为jar包的时候,会自动映射 /webjars/**这个路径。 我们可以在后面直接访问。 http://localhost:8080/webjars/jquery/3.5.1/jquery.js 上面的自动映射在源码中也已经写好了。