第十一章:SpringBoot_Web开发——(静态资源映射规则)

总目录:SpringBoot学习教程


1.在IDEA中创建一个项目,添加web依赖包。

2.我们现在是一个web应用,应该在man目录下面有一个webapp文件夹,将所有的页面都放在这里,这是我们以前的做法。

3.但是我们创建的这个项目中,没有这个webapp目录,但是SpringBoot给我们做了规定。

4.在SpringBoot中对SpringMVC的相关配置都在 WebMvcAutoConfiguration 这个类中做了规定

开始介绍这个WebMvcAutoConfiguration类中的方法


    4.1:addResourceHandlers方法。

@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));
			}
			String staticPathPattern = this.mvcProperties.getStaticPathPattern();
			if (!registry.hasMappingForPattern(staticPathPattern)) {
				customizeResourceHandlerRegistration(
						registry.addResourceHandler(staticPathPattern)
								.addResourceLocations(
										this.resourceProperties.getStaticLocations())
						.setCachePeriod(cachePeriod));
			}
		}
意思是 所有/webjars/** ,都去classpath:/META-INF/resources/webjars/ 找资源。

webjars:以jar包的方式引入静态资源,可以去http://www.webjars.org/ 这个网站选择自己的静态资源。

例如:我们导入jquery的资源,我们去上面那个网站中选好版本。

<dependency>
    <groupId>org.webjars</groupId>
    <artifactId>jquery</artifactId>
    <version>3.1.1</version>
</dependency>

之后我们把它导入到pom文件中。我们去maven包下面找到这个jquery包。

所以我们去访问一下 http://localhost:8080/webjars/jquery/3.1.1/jquery.js

发现可以访问到。(1.在pom中添加依赖 2.直接访问webjar下面的资源的名称就ok)


  4.2  /**访问当前项目下的任何路径。(静态文件夹)

"classpath:/META-INF/resources/", 
"classpath:/resources/",
"classpath:/static/",
"classpath:/public/"
"/":当前项目下的类路径

我们把静态文件放在这些文件夹的下面,就会被加载到。一般我们是在resources下面创建这些文件夹。我引入了一个文件夹


我直接运行项目,访问 http://localhost:8080/asserts/css/bootstrap.min.css  显示访问的到。

4.3  欢迎页面。 静态文件夹下面的 index.html页面会被默认加载。

localhost:8080/    会去找静态资源下的index.html界面。

@Bean
		public WelcomePageHandlerMapping welcomePageHandlerMapping(
				ResourceProperties resourceProperties) {
			return new WelcomePageHandlerMapping(resourceProperties.getWelcomePage(),
					this.mvcProperties.getStaticPathPattern());
		}
4.4  配置图标,我们在打开一个官网的时候会看到最前边有一个小的图标。

所有的 **/favicon.ico  都是在静态资源文件下找。


显示


4.5 改变默认的静态资源文件夹

spring.resources.static-locations=classpath:/one/,classpath:/hello/

我配置了自己的静态文件夹地址,所以SpringBoot定义好的那些就失效了。配置多个用 逗号隔开。




  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值