欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Springboot的web开发中static和templates的区别

程序员文章站 2022-07-09 08:23:27
...

在src/main/resources下面有两个文件夹,static和templates,springboot默认 static中放静态页面,而templates中放动态页面

1.新建一个SpringBoot Maven项目

1.1 依赖设置(选中web和Thymeleaf)

Springboot的web开发中static和templates的区别
Springboot的web开发中static和templates的区别

1.2 resource结构如下

Springboot的web开发中static和templates的区别

2. static目录

2.1 在static下新建hello1.html

运行程序,浏览器输入http://localhost:8080/hello1.html
Springboot的web开发中static和templates的区别

so,可以在根目录下访问hello1.html,static目录类似于传统Java web中的webroot或webcontent

2.2 也可以通过接口跳转

2.2.1 添加接口

    @RequestMapping("hello1")
    public String hello1() {

        return "hello1.html";
    }

2.2.2 注释掉thymeleaf依赖

    <dependencies>
        <!--<dependency>-->
            <!--<groupId>org.springframework.boot</groupId>-->
            <!--<artifactId>spring-boot-starter-thymeleaf</artifactId>-->
        <!--</dependency>-->

2.2.3 浏览器输入http://localhost:8080/hello1

Springboot的web开发中static和templates的区别

3. template目录

3.1 在template下新建hello2.html

运行程序,浏览器输入http://localhost:8080/hello2.html
Springboot的web开发中static和templates的区别

templates下的动态页面不能直接访问

3.2 通过接口访问

3.2.1 添加接口

注意接口中return的页面不包含.html后缀

    @RequestMapping("hello2")
    public String hello2() {

        return "hello2";
    }

3.2.2 浏览器输入http://localhost:8080/hello2

Springboot的web开发中static和templates的区别

4.总结

静态页面的return默认是跳转到/static/目录下,当在pom.xml中引入了thymeleaf组件,动态跳转会覆盖默认的静态跳转,默认就会跳转到/templates/***意看两者return代码也有区别,动态没有html后缀。