SpringBoot之Web开发基础(静态资源引入,thymeleaf基础)

文章目录

  • 前言
  • 一、如何引入静态资源
    • 1.什么是静态资源
  • 二、规则1 : 以webjars访问静态资源
    • 1.webjars路径访问
    • 2.如何使用?
  • 三、规则2 : 本地静态资源的引用
    • 1./**可访问当前项目下任何资源
  • 四、规则3 : 欢迎页映射配置
  • 五、thymeleaf基础


前言

spring boot对web的开发非常之方便,但是原理上逻辑性有点强,有点绕


提示:以下是本篇文章正文内容,下面案例可供参考

一、如何引入静态资源

1.什么是静态资源

所谓的静态资源简单来说是指前端的代码,和一些资源包.在springboot中使用映射来对静态资源进行引入

二、规则1 : 以webjars访问静态资源

这里用到一个IDEA的命令 Ctrl+N 查找存在的某一个类

1.webjars路径访问

Ctrl+N 找到WebMvcAutoConfiguration类,然后找到addResourceHandlers()方法

代码如下(示例):

@Override
		public void addResourceHandlers(ResourceHandlerRegistry registry) {
     
			if (!this.resourceProperties.isAddMappings()) {
     
				logger.debug("Default resource handling disabled");
				return;
			}
			Duration cachePeriod = this.resourceProperties.getCache().getPeriod();
			CacheControl cacheControl = this.resourceProperties.getCache().getCachecontrol().toHttpCacheControl();
			if (!registry.hasMappingForPattern("/webjars/**")) {
     
				customizeResourceHandlerRegistration(registry.addResourceHandler("/webjars/**")
						.addResourceLocations("classpath:/META-INF/resources/webjars/")
						.setCachePeriod(getSeconds(cachePeriod)).setCacheControl(cacheControl));
			}
			String staticPathPattern = this.mvcProperties.getStaticPathPattern();
			if (!registry.hasMappingForPattern(staticPathPattern)) {
     
				customizeResourceHandlerRegistration(registry.addResourceHandler(staticPathPattern)
						.addResourceLocations(getResourceLocations(this.resourceProperties.getStaticLocations()))
						.setCachePeriod(getSeconds(cachePeriod)).setCacheControl(cacheControl));
			}
		}

这么多代码,你需要看懂的就是下面这几句SpringBoot之Web开发基础(静态资源引入,thymeleaf基础)_第1张图片
这块讲的是,**webjars/都去下一行的"classpath:/META-INF/resources/webjars/"目录下找资源.
之前有讲过,这段路径是文件在
编译以后存放的位置

2.如何使用?

代码如下(示例):

打开webjars网站 , 选中需要的资源及其版本 , 然后复制依赖加入到pom.xml文件中即可
下面以jQuery为例 :

SpringBoot之Web开发基础(静态资源引入,thymeleaf基础)_第2张图片
复制给pom.xml文件即可!

三、规则2 : 本地静态资源的引用

1./**可访问当前项目下任何资源

在上面的addResourceHandlers()方法中,按如下顺序进入,就能看到private String staticPathPattern = "/**"; 说明可以访问当前项目下任何资源

SpringBoot之Web开发基础(静态资源引入,thymeleaf基础)_第3张图片
SpringBoot之Web开发基础(静态资源引入,thymeleaf基础)_第4张图片

同时在ResourceProperties类下我们可以看到如下四种路径

"classpath:/META-INF/resources/",
"classpath:/resources/", 
"classpath:/static/", 
"classpath:/public/"

我们将静态资源放在这四种文件夹下,springboot都能找到他们
SpringBoot之Web开发基础(静态资源引入,thymeleaf基础)_第5张图片
当然了,IDEA只为我们创建了一种static的文件夹,其它的三种方式都可以在resource文件夹下自行创建

代码明天再写吧
场景 : 使用localhost:8888/xxx 即可访问到静态资源

四、规则3 : 欢迎页映射配置


五、thymeleaf基础

你可能感兴趣的:(SpringBoot,java,spring,springboot)