总结SpringBoot设置欢迎页的方式

方式一:SpringBoot对静态资源的自动映射(最基础)

SpringBoot框架将欢迎页做了自动配置 ,不需要任何配置,只需在静态资源目录下添加index.jsp欢迎页即可。

1. 导入jquery‐webjar依赖

XML 复制代码
<!--引入jquery‐webjar 在访问的时候只需要写webjars下面资源的名称即可-->
<dependency>
    <groupId>org.webjars</groupId>
    <artifactId>jquery</artifactId>
    <version>3.3.1</version>
</dependency>

2. 在 src/main/resources/static/ 下新建一个 index.html

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h2>SpringBoot对静态资源的自动映射</h2>
    <p>springboot自动配置,在静态资源下查找index.html文件</p>
</body>
</html>

3. 访问当前项目的任何资源,都去(静态资源的文件夹)找映射

优先级:从高到低

bash 复制代码
# 任选其一
"classpath:/META‐INF/resources/index.html",
"classpath:/resources/index.html",
"classpath:/static/index.html",
"classpath:/public/index.html"
"/":当前项目的根路径

4. 适用场景:

  • 纯静态的 HTML 页面,
  • 不需要编写xml,
  • 不需要后端传数据,
  • 也不使用 Thymeleaf 语法。

方式二:SpringBoot-Controller映射(最常用)

最常用的一种获取动态页面的方式,页面通常放在classpath:/templates/目录下(模板引擎默认目录)。

1. src/main/resources/ templates**/ 下新建一个 index.html**

html 复制代码
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h2 th:text="${message}"></h2>
    <h2>且使用Thymeleaf 模板引擎</h2>
</body>
</html>

2. 在controller层建一个java文件

java 复制代码
package com.qcby.springBootWelcome.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class WelcomeController {
    @RequestMapping("/")
    public String welcomeHello(Model model){
        model.addAttribute("message","SpringBoot-Controller映射");
        return "index";
    }
}

3. 访问路径: classpath:/templates/index.html

4. 适用场景:

  • 使用 Thymeleaf 模板引擎的动态页面
  • 需要后端数据交互

方式三:WebMvcConfigurer 配置类

1. 在 src/main/resources/ templates**/ 下新建一个 login.html**

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h2>登录页面</h2>
    <h3>适用 WebMvcConfigurer 配置类</h3>
</body>
</html>

2. 创建WebConfig配置类

java 复制代码
package com.qcby.springBootWelcome.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class WebConfig implements WebMvcConfigurer{
    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        // 直接映射到静态页面
//        registry.addViewController("/").setViewName("login.html");

        // 或者映射到模板引擎页面
         registry.addViewController("/").setViewName("login");
    }
}

3. 访问路径: classpath:/templates/login.html

4. 适用场景:

  • 使用 Thymeleaf 模板引擎的动态页面
  • 不需要后端传特定数据,仅仅是做路由跳

总结

这三种方式的优先级:SpringBoot-Controller映射 > WebMvcConfigurer 配置类 > SpringBoot对静态资源的自动映射

方法 适用场景 优点 缺点
静态资源默认 简单静态页面 无需配置 功能单一
WebMvcConfigurer 需要URL映射 灵活 需要代码配置
Controller方式 动态内容 功能强大 代码量多
模板引擎 动态页面 前后端结合 需要学习模板语法
相关推荐
BD_Marathon1 小时前
IDEA创建多级包时显示在同一行怎么办
java·ide·intellij-idea
亓才孓1 小时前
【Exception】CONDITIONS EVALUATION REPORT条件评估报告
java·开发语言·mybatis
山岚的运维笔记1 小时前
SQL Server笔记 -- 第72章:隔离级别与锁定
数据库·笔记·后端·sql·microsoft·sqlserver
硅基动力AI1 小时前
如何判断一个关键词值不值得做?
java·前端·数据库
重生之后端学习2 小时前
78. 子集
java·数据结构·算法·职场和发展·深度优先
那起舞的日子2 小时前
斐波那契数列
java·算法
想用offer打牌3 小时前
一站式了解接口防刷(限流)的基本操作
java·后端·架构
何中应3 小时前
RabbitMQ安装及简单使用
分布式·后端·消息队列
何中应3 小时前
使用Python统计小说语言描写的字数
后端·python