SpringBoot的资源映射
资源映射在5个文件中:
classpath:/META-INF/resources/
classpath:/resources/ 注意,这里是在我们的resources类别的目录中新建的resources文件夹
classpath:/static/ 同上
classpath:/public/ 同上
/ 这是项目根路径
注意:有关web模块的映射都在webmvcautoconfiguration类中进行配置。上述的5个路径也是在源码中 发现
欢迎页映射
就是index文件,默认情况下在/**映射,换句话说,就是可以被任何路径做出映射。
注意:还有一个就是自己的网站图标的设置,以xxx.ico文件为准,默认作为访问图标。
springboot的web模式
问题:在springboot中,我们一般使用maven来构建项目,但是一般情况下,我们无法使用jsp页面,因为在sprinboot中,没有wbeapp目录。
所以就引入了 模板引擎,常见的模板引擎有:jsp,velocity,freemarker,thymeleaf.
模板引擎的原理,基本都是一个模板(template)+数据
以JSP举例,我们在使用jsp的时候,可以在servlet中使用其中的域对象存储值,然后在jsp可以写java代码获取值,然后输出到进行输出。
springboot推荐thymeleaf:
引入thymeleaf:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
version我使用的是3.0
引入后导入了两个jar包:
一个是自己的,一个是和spring整合的。
如下图:
在properties中导入如下配置。
原因为:layout2可以支持thymeleaf3,但是如果使用的thmeleaf2那么也可以使用layout1
<thymeleaf.version>3.0.11</thymeleaf.version>
<!--布局功能支持的程序 thymeleaf3主程序,layout以上的版本-->
<thymeleaf-layout-dialect.version>2.1.1</thymeleaf-layout-dialect.version>
springboot的thymeleaf的用法
@ConfigurationProperties(prefix = "spring.thymeleaf")
public class ThymeleafProperties {
private static final Charset DEFAULT_ENCODING = StandardCharsets.UTF_8;
public static final String DEFAULT_PREFIX = "classpath:/templates/";
public static final String DEFAULT_SUFFIX = ".html";
如果我们将html页面放入templates/ 那么就会被自动渲染。
关于thymeleaf的使用文档,参考下面的链接
thymeleaf的PDF文档
基本的结构如下: