springboot学习笔记(九)

springboot处理Web静态资源

静态资源:html,js,css等

springboot是一个jar包,因此静态资源不在存放到webapp(原先maven项目的)中。

静态资源的存放路径通过该WebMvcAutoConfiguration类中的addResourceHandlers()方法指定。

以前引入js等静态资源,是将这些资源下载下来,然后手工放入webapp目录下;

而springboot则是将这些静态资源直接以jar文件(maven)的形式引入项目。

访问引入的jar包时,从webjars开始写!

示例:引入一个jQuery,并访问

首先下载jar包:

		<dependency>
			<groupId>org.webjars.bower</groupId>
			<artifactId>jquery</artifactId>
			<version>3.3.1</version>
		</dependency>

然后找到该jar包:

启动项目,访问该静态资源:

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

 

 如何将自己写的静态资源放入到springboot中?

方法1:将自己写的静态资源打成jar包,然后引入springboot。

方法2:(推荐)

springboot将一些目录结构,设置成静态资源存放目录,我们自己写的静态资源直接放入这些目录即可!

①"classpath:/META-INF/resources/"

②"classpath:/resources/"

③"classpath:/static/"

④"classpath:/public/"

在以上目录存放资源文件后,访问时不需要加前缀,直接访问即可!

示例:

首先在静态资源存放目录中新建一个hello.html页面:

然后我们来访问他:

当我们加上前缀时:访问不到

 直接访问时:成功

 设置欢迎页

WebMvcAutoConfiguration类中的welcomePageHandlerMapping()->getWelcomePage()->location + "index.html"

即任意一个静态资源存放目录中的index.html就是欢迎页

设置Logo

每一个网站中 网页标签都是有Logo的,例如:CSDN的Logo为

网站中 网页标签的Logo是有固定的名字的:favicon.ico

自定义favicon.ico:

通过读源码得知:只需要将favicon.ico放入任意静态资源存放目录中即可!

如何自定义静态资源存放目录

properties文件中(prefix+属性名)

spring.resources.static-locations=classpath:/res/,classpath:/img/

自定义后,以前默认的静态资源存放路径会失效!

总结:

1.通过源码发现:静态资源的存放目录为

       ①"classpath:/META-INF/resources/"

       ②"classpath:/resources/"

       ③"classpath:/static/"

       ④"classpath:/public/"

2.用静态资源:只需要将静态资源放入以上目录即可

3.其他特定的文件,例如:欢迎页、logo,只需要将约定放入静态资源存放目录即可。

猜你喜欢

转载自blog.csdn.net/dongjinkun/article/details/82977489