WebMvcAutoConfiguration的内部类
WebMvcAutoConfigurationAdapter

其中ResourceProperties点进去

其中addResourceHandlers方法

规定了静态资源(jQuery.js/html)的引用位置

              WebMvcAuotConfiguration:

                       @Override

                       public  void  addResourceHandlers(ResourceHandlerRegistry  registry)  {

                               if  (!this.resourceProperties.isAddMappings())  {

                                        logger.debug("Default  resource  handling  disabled");

                                        return;

                               }

                              Integer  cachePeriod  =  this.resourceProperties.getCachePeriod();

                               if  (!registry.hasMappingForPattern("/webjars/**"))  {

                                        customizeResourceHandlerRegistration(

                                                         registry.addResourceHandler("/webjars/**")

                                                                          .addResourceLocations(

                                                                                            "classpath:/META‐INF/resources/webjars/")

                               .setCachePeriod(cachePeriod)); 15 }

                               String  staticPathPattern  =  this.mvcProperties.getStaticPathPattern();

                               //静态资源文件夹映射

                               if  (!registry.hasMappingForPattern(staticPathPattern))  {

                                        customizeResourceHandlerRegistration(

                                                         registry.addResourceHandler(staticPathPattern)

                                                                          .addResourceLocations(

                                                                                            this.resourceProperties.getStaticLocations())

                               .setCachePeriod(cachePeriod)); 24 }

                      }

//配置欢迎页映射

@Bean

public  WelcomePageHandlerMapping  welcomePageHandlerMapping(

ResourceProperties  resourceProperties)  {

return  new WelcomePageHandlerMapping(resourceProperties.getWelcomePage(),

  this.mvcProperties.getStaticPathPattern());

}

//配置喜欢的图标

@Configuration

@ConditionalOnProperty(value  =  "spring.mvc.favicon.enabled",  matchIfMissing  =  true)


  public  static  class  FaviconConfiguration  {

        private  final  ResourceProperties  resourceProperties;
        public  FaviconConfiguration(ResourceProperties  resourceProperties)  { 

        this.resourceProperties = resourceProperties;

}



@Bean


public  SimpleUrlHandlerMapping  faviconHandlerMapping()  {

  SimpleUrlHandlerMapping  mapping  =  new  SimpleUrlHandlerMapping();mapping.setOrder(Ordered.HIGHEST_PRECEDENCE  +  1);

// 所 有 **/favicon.ico

mapping.setUrlMap(Collections.singletonMap("**/favicon.ico", faviconRequestHandler()));

return  mapping;


}


@Bean


public  ResourceHttpRequestHandler  faviconRequestHandler()  { ResourceHttpRequestHandler  requestHandler  =  new ResourceHttpRequestHandler();

requestHandler.setLocations(this.resourceProperties.getFaviconLocations());

return  requestHandler;

}

}


1)、所有 /webjars/** ,都去 classpath:/META-INF/resources/webjars/ 找资源;

webjars:以jar包的方式引入静态资源(选择maven方式); http://www.webjars.org/

localhost:8080/webjars/jquery/3.3.1/jquery.js

    <!‐‐引入jquery‐webjar‐‐>在访问的时候只需要写webjars下面资源的名称即可
<dependency>
<groupId>org.webjars</groupId>
<artifactId>jquery</artifactId>
<version>3.3.1</version>
</dependency>

2)、"/**" 访问当前项目的任何资源,都去(静态资源的文件夹)找映射

类路径classpath就是Java 与resources

    "classpath:/META‐INF/resources/",即resources下再建/META‐INF/resources/
"classpath:/resources/",即resources下再建resources
"classpath:/static/",即resources下再建static
"classpath:/public/"即resources下再建public
"/":当前项目的根路径

localhost:8080/abc === 去静态资源文件夹里面找abc

3)、欢迎页; 静态资源文件夹下的所有index.html页面;被"/**"映射;

localhost:8080/ 找index页面

4)、所有的 **/favicon.ico 都是在静态资源文件下找;

【串线篇】spring boot对静态资源的映射规则的更多相关文章

  1. Spring Boot对静态资源的映射规则

    规则一:所有 " /webjars/** " 请求都去classpath:/META-INF/resources/webjars/找资源 webjars:以jar包的方式引入静态资 ...

  2. Spring boot 默认静态资源路径与手动配置访问路径的方法

    这篇文章主要介绍了Spring boot 默认静态资源路径与手动配置访问路径的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下   在application.propertis中配置 ##端口号 ...

  3. Spring Boot中静态资源(JS, 图片)等应该放在什么位置

    Spring Boot的静态资源,比如图片应该放在什么位置呢, 如果你放在传统WEB共的类似地方, 比如webapp或者WEB-INF下,你会得到一张示意文件未找到的破碎图片.那应该放哪里呢? 百度一 ...

  4. Spring Boot 的静态资源处理

    做web开发的时候,我们往往会有很多静态资源,如html.图片.css等.那如何向前端返回静态资源呢?以前做过web开发的同学应该知道,我们以前创建的web工程下面会有一个webapp的目录,我们只要 ...

  5. spring boot 开静态资源访问,配置视图解析器

    配置视图解析器spring.mvc.view.prefix=/pages/spring.mvc.view.suffiix= spring boot 开静态资源访问application.proerti ...

  6. Spring Boot干货:静态资源和拦截器处理

    前言 本章我们来介绍下SpringBoot对静态资源的支持以及很重要的一个类WebMvcConfigurerAdapter. 正文 前面章节我们也有简单介绍过SpringBoot中对静态资源的默认支持 ...

  7. spring boot的静态资源加载

    1.spring boot默认资源处理 Spring Boot 默认为我们提供了静态资源处理,使用 WebMvcAutoConfiguration 中的配置各种属性. spring boot默认加载文 ...

  8. 003 spring boot访问静态资源与重定向

    今天被问到重定向的问题,后续又引起了静态资源路径配置的问题,在这里做一个总结,当然,顺便添加默认访问index.html. 一:默认访问 1.默认路径 在springboot中静态资源的映射文件是在r ...

  9. 不常见偏门的Bug,Spring Boot IDEA 静态资源 图片访问404,初学者之殇

    用过Idea朋友都知道,它有一个非常让人喜欢的功能就是:打算在某个a目录下创建一个hello.class文件,那么你仅需要右键点击New-Java Class- 然后输入名字:a.hello 即可. ...

随机推荐

  1. 在bash脚本的for i in编写中将点号``写成单引号‘’或者双引号“”会有什么后果?

    编写一个测试脚本: 输入启动命令:https://blog.csdn.net/zhoucheng05_13/article/details/test.sh,结果报错 使用的是root用户,但是仍然提示 ...

  2. (转)JNI参数传递|Surface && sign签名对应

    http://blog.csdn.net/stefzeus/article/details/6622011 char* Get_Surface(JNIEnv *env, jclass cls, job ...

  3. 如何修改linux 用户登录后默认目录

    1.linux用户登录后默认目录是在/etc/passwd文件设置的.如下图所示,一共显示了四行数据,其中第一行的/root即为root用户登录后的默认目录,第二行daemon用户的默认目录是/usr ...

  4. Using Groovy To Import XML Into MongoDB

    w https://trishagee.github.io/post/groovy_import_to_mongodb/

  5. 测开之路一百零八:bootstrap表格

    引入bootstrap和jquery 普通表格 html自带的边框线 bootstrap表格属性 bootstrap表格 边框线 鼠标经过变色 压缩表格,减小密度 自适应屏幕 隔行突出(变色) 表格里 ...

  6. javascript 阻止事件冒泡

    阻止冒泡 冒泡简单的举例来说,儿子知道了一个秘密消息,它告诉了爸爸,爸爸知道了又告诉了爷爷,一级级传递从而引起事件的混乱,而阻止冒泡就是不让儿子告诉爸爸,爸爸自然不会告诉爷爷了. 举个栗子: 父容器是 ...

  7. Tesseract5.0训练字库,提高OCR特殊场景识别率(一)

    0.目标 很多特殊场景,原生的字库识别率不高,这时候就需要根据需求自己训练字库生成traineddata文件. 一.前期准备工作 1.安装jdk   用于运行jTessBoxEditor 2.安装jT ...

  8. mysql修改库、表、字段 字符集,中文排序

    查看字段编码: show full columns from t2;show variables like '%character%';show variables like 'collation_% ...

  9. Oracle-第一篇一些调优技巧

    1.查询 1>通过提示,使用索引. 2>使用/*+parallel*/并行查询 3>查看执行计划,调整sql语句或者优化表结构 4>避免使用“*”号 2.表设计:partiti ...

  10. jvm学习(2)JVM内存说明

    前言 一.类方法 类方法是静态方法,前面需要有static修饰符修饰.类方法内不能涉及有关变量的内容1.不能调用类的对象方法2.不能引用对象变量3.类方法不能被重写(覆盖)4.类方法不能使用super ...