总结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方式 动态内容 功能强大 代码量多
模板引擎 动态页面 前后端结合 需要学习模板语法
相关推荐
lifewange7 分钟前
如何设计一个 RESTful API
后端·http·restful
a8a30210 分钟前
Laravel9.x新特性全解析
运维·spring boot·nginx
安德鲁202214 分钟前
Spring Boot + Undertow 全栈架构深度剖析时序图
后端
码事漫谈15 分钟前
AI 正在重塑职场:有人乘风破浪,有人悄然掉队
后端
用户974369707252837 分钟前
5分钟搭建企业级实时消息推送系统
后端·websocket
counting money39 分钟前
Spring框架基础(配置篇)
java·后端·spring
生活真难1 小时前
SpringCloud - 任务调度 - xxl-job
后端·spring·spring cloud
秋91 小时前
OceanBase与GreatSQL在Java应用中的性能调优方法有哪些?
java·开发语言·oceanbase
今天又在写代码1 小时前
并发问题解决
java·开发语言·数据库