SpringBoot直接访问templates下的html问题

方法1:曾经:
template下文件不允许直接访问
1、springboot项目默认是不允许直接访问template下的文件的,是受保护的。
所以想访问template下的html页面,我们可以配置视图解析器。

2、如果想要用视图去展示,应该要设置好视图展示页面,比如说用一个模板语言来接收返回的数据(thymeleaf或者freemarker等), 也可以用jsp接收,但是SpringBoot官方是不推荐用jsp的,而是建议使用thymeleaf作为模板语言,这里我以thymeleaf为例。

方法2:现在(推荐的方法)

知道需要通过控制器跳转才能访问到templates下的html文件
因为springboot默认访问static,resources,public这些文件夹下的文件,而没有默认访问templates下的
我们需要在配置加上

spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,classpath:/templates/

完整例子:

spring:
  datasource:
    name: druid
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
      driver-class-name: com.mysql.jdbc.Driver
      filters: stat
      password: 123456
      url: jdbc:mysql://127.0.0.1:3306/ugaoxin_db?useUnicode=true&characterEncoding=UTF-8
      username: root
  thymeleaf:
    prefix:  /templates/**
    suffix: .html
    cache: false
  resources:
    static-locations: classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,classpath:/templates/

server:
  port: 8082
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐