news 2026/5/12 22:22:20

Thymeleaf 项目创建及请求响应过程解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Thymeleaf 项目创建及请求响应过程解析

创建项目

1. 使用Spring Initializr创建项目

访问 https://start.spring.io/ 或使用IDE的Spring Initializr功能,选择以下依赖:

  • Spring Web
  • Thymeleaf
  • Spring Boot DevTools(可选,用于开发时热部署)

项目结构
src/main/java/com/example/ThymeleafWeb/
├── ThymeleafWebApplication.java // 主启动类
├── controller/
│ └── HomeController.java // 控制器类
├── entity/
│ └── User.java // 实体类(可选)
└── service/
└── UserService.java // 服务类(可选)

src/main/resources/
├── templates/
│ ├── index.html // Thymeleaf模板文件
│ └── user.html // 用户页面模板
├── static/
│ ├── css/
│ ├── js/
│ └── images/
└── application.properties // 配置文件

2. Maven依赖配置

在 [pom.xml](file://E:\MES\work\bladex-boot\pom.xml) 中添加必要的依赖:

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

3. 控制器类示例

创建一个控制器来处理请求:

@ControllerpublicclassHomeController{@GetMapping("/")publicStringhome(Modelmodel){model.addAttribute("message","Hello Thymeleaf!");return"index";}}

4. Thymeleaf模板文件

src/main/resources/templates/目录下创建index.html

<!DOCTYPEhtml><htmlxmlns:th="http://www.thymeleaf.org"><head><title>Thymeleaf Demo</title></head><body><h1th:text="${message}">Default Message</h1></body></html>

5. 应用配置

application.properties中可以配置Thymeleaf相关属性:

spring.thymeleaf.cache=false spring.thymeleaf.prefix=classpath:/templates/ spring.thymeleaf.suffix=.html

6.访问 http://localhost:8080 查看效果

关键依赖说明
你的 pom.xml 已经包含了必要的依赖:
spring-boot-starter-thymeleaf: Thymeleaf 模板引擎支持
spring-boot-starter-webmvc: Web MVC 功能
spring-boot-devtools: 开发工具,支持热部署
这样就完成了一个基本的 Java Thymeleaf 项目创建。

请求处理流程

  1. 启动Spring Boot应用

    • 通过mvn spring-boot:run启动应用
    • 内嵌Tomcat服务器在8080端口监听
  2. 请求路由

    • 浏览器发送GET请求到根路径 [/](file://E:\java\Web-API\ThymeleafWeb\pom.xml)
    • Spring MVC根据@RequestMapping@GetMapping注解匹配处理器
  3. 控制器处理

    • 请求到达标记为@Controller的控制器类
    • 执行相应的处理方法,准备模型数据
  4. 视图解析

    • 返回视图名称(如"index"
    • Thymeleaf视图解析器查找对应的模板文件
    • 默认在src/main/resources/templates/目录下查找
  5. 模板渲染

    • Thymeleaf引擎处理模板文件
    • 替换模板中的占位符(如th:text="${message}"
    • 生成最终HTML内容
  6. 响应返回

    • 将渲染后的HTML内容作为HTTP响应体返回
    • 设置适当的HTTP头信息(Content-Type等)

当前项目状态

由于你当前的 [HomeController](file://E:\java\Web-API\ThymeleafWeb\src\main\java\com\example\thymeleafweb\controller\HomeController.java#L7-L15) 类还是空的,访问http://localhost:8080会返回404错误。需要添加适当的控制器方法来处理根路径请求。

响应内容示例

如果正确配置了控制器和模板,响应将是渲染后的HTML页面,包含:

  • HTTP状态码:200 OK
  • Content-Type:text/html;charset=UTF-8
  • HTML内容:经过Thymeleaf处理的模板页面
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/30 12:25:34

铝箔与铝制品自动检测:基于YOLO13-C3k2-ConvFormer的智能分类系统详解

1. 铝箔与铝制品自动检测&#xff1a;基于YOLO13-C3k2-ConvFormer的智能分类系统详解 1.1. 系统概述 铝制品在现代工业中应用广泛&#xff0c;从包装材料到电子元件&#xff0c;从建筑材料到航空航天部件&#xff0c;都离不开铝及其合金制品。然而&#xff0c;铝制品在生产过…

作者头像 李华
网站建设 2026/5/9 14:14:11

【稀缺技术公开】:R实现量子模拟飞秒级时间分辨率的秘密路径

第一章&#xff1a;R 量子模拟的测量精度在量子计算与量子模拟的研究中&#xff0c;测量精度是决定实验结果可信度的关键因素。R语言凭借其强大的统计分析能力与可视化工具&#xff0c;被广泛应用于量子模拟数据的后处理与误差分析中。通过精确建模测量噪声、系统漂移和量子态坍…

作者头像 李华
网站建设 2026/5/5 17:13:59

【临床数据R语言亚组分析实战】:掌握高效亚组挖掘技巧与代码实现

第一章&#xff1a;临床数据亚组分析概述 在临床研究中&#xff0c;亚组分析是一种重要的统计方法&#xff0c;用于探索治疗效应在不同患者群体中的异质性。通过对特定人口学特征、疾病严重程度或生物标志物等变量进行分层&#xff0c;研究人员能够识别出对干预措施反应更显著的…

作者头像 李华
网站建设 2026/5/12 16:23:06

为什么90%的AI语音项目都卡在音频质检?Dify 1.7.0给出答案

第一章&#xff1a;为什么90%的AI语音项目都卡在音频质检&#xff1f;在AI语音系统开发中&#xff0c;模型训练只是冰山一角&#xff0c;真正决定项目成败的是隐藏在背后的音频质检环节。大量团队在数据采集后直接进入训练阶段&#xff0c;却忽视了原始音频中存在的噪声、静音段…

作者头像 李华
网站建设 2026/5/1 0:16:56

【气象数据极端事件归因实战】:掌握R语言分析核心技术与关键步骤

第一章&#xff1a;气象数据极端事件归因分析概述气象数据极端事件归因分析是气候科学中的关键研究方向&#xff0c;旨在识别和量化导致极端天气现象&#xff08;如热浪、暴雨、干旱等&#xff09;发生的驱动因素。随着全球气候变化加剧&#xff0c;极端事件的频率与强度显著上…

作者头像 李华
网站建设 2026/5/11 17:58:12

Dify 1.7.0音频切片处理配置全解析(新手必看的3个关键参数)

第一章&#xff1a;Dify 1.7.0音频切片处理配置概述Dify 1.7.0 版本引入了对音频数据的高效切片处理机制&#xff0c;旨在提升语音识别、音频分析等 AI 应用场景下的预处理能力。该功能支持多种音频格式的自动分割与元数据提取&#xff0c;适用于大规模语音训练任务和实时语音流…

作者头像 李华