Spring Boot管理用户数据

目录

  • 学习目标
  • 前言
  • Thymeleaf 模板JSON 数据
      • 步骤 1: 创建 Spring Boot 项目
        • 使用 Spring Initializr 创建项目
        • 使用 IDE 创建项目
      • 步骤 2: 添加依赖
      • 步骤 3: 创建 Controller
      • 步骤 4: 新建index页面
      • 步骤 5: 运行应用程序
  • 表单提交
      • 步骤 1: 添加 Thymeleaf 依赖
        • 在 Maven 中添加依赖
      • 步骤2:创建实体类
      • 步骤 3: 创建 Controller 处理表单请求
      • 步骤 3: 创建 Thymeleaf 模板文件
        • `login.html`
        • `result.html`
      • 步骤 4: 运行应用程序
  • Spring Boot 处理JSON 数据的过程
      • 1.创建实体类
      • 2.创建视图页面
      • 3.控制器
      • 4.运行
  • 总结

学习目标

Spring Boot 的 Web 的开发

  • Thymeleaf 模板JSON 数据

前言

前端开发,也称为客户端开发,专注于用户界面和用户体验。后端开发,或服务器端开发,处理服务器、应用程序和数据库的逻辑。Web开发可以分为两大主要领域:前端开发和后端开发


Thymeleaf 模板JSON 数据

Thymeleaf 是一个的Java模板引擎,具备生成多种文本格式的能力,包括HTML、XML、JavaScript、CSS以及简单的纯文本。

创建一个基于 Thymeleaf 模板的 Spring Boot Web 应用程序相对简单。

步骤 1: 创建 Spring Boot 项目

首先,你需要创建一个新的 Spring Boot 项目。你可以通过 Spring Initializr 网站来创建,或者使用 IDE 如 IntelliJ IDEA 或 Eclipse。

使用 Spring Initializr 创建项目
  1. 访问 Spring Initializr。
  2. 选择项目元数据:
    • Project:Maven Project 或 Gradle Project
    • Language:Java
    • Packaging:Jar
    • Java:选择你安装的 Java 版本
  3. 添加依赖项:
    • Spring Web
    • Thymeleaf
  4. 选择默认的其他选项,点击生成按钮下载项目。
    在这里插入图片描述
    我尝试更换Java版本,在IDEA中使用JDK1.8时一切正常,但当我切换到JDK17时遇到了错误。

为了解决这个问题,我选择了一个曲线救国的方法:回退版本。

我将父类依赖从3.3.4降低到了2.6.4。(避免报错,在我的电脑)
在这里插入图片描述

使用 IDE 创建项目

如果你使用的是支持 Spring Boot 的 IDE,可以在 IDE 中新建一个 Spring Boot 项目,并添加上述依赖。

步骤 2: 添加依赖

在这里插入图片描述

如果你使用的是 Maven,确保在 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: 创建 Controller

接下来,创建一个简单的控制器来处理 HTTP 请求:

package com.bushuo.demo01.controller;

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

@Controller
public class TestThymeleafController {
    @RequestMapping("/index")
    public String test(){
    //返回src/main/resources/templates/index.html
        return "index";
    }
}

步骤 4: 新建index页面

src/main/resources/templates 目录下创建一个名为 index.html 的文件,并添加以下内容:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1 >Welcome to Spring Boot!</h1>
</body>
</html>

步骤 5: 运行应用程序

现在,你可以运行你的 Spring Boot 应用了。在终端或命令提示符中,导航到项目的根目录并执行以下命令:

mvn spring-boot:run

或者在 IDE 中直接运行主类(通常包含 @SpringBootApplication 注解)。

在这里插入图片描述

表单提交

在 Spring Boot 应用程序中使用 Thymeleaf 实现表单提交及数据绑定的过程主要包括以下几个步骤:

  1. 添加 Thymeleaf 依赖
  2. 创建 Controller 处理表单请求
  3. 创建 Thymeleaf 模板文件
  4. 运行应用程序

步骤 1: 添加 Thymeleaf 依赖

确保项目已经包含了 Thymeleaf 依赖。如果你还没有添加,请参考之前的指导在 pom.xml 中添加相应的依赖。

在 Maven 中添加依赖
<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>

步骤2:创建实体类

在src/main/java 目录下,创建model包,创建实体类loginBean
在这里插入图片描述

package com.bushuo.demo01.model;

public class LoginBean {
    String name;
    String role;
  public LoginBean() {

    }
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getRole() {
        return role;
    }

    public void setRole(String role) {
        this.role = role;
    }
}

步骤 3: 创建 Controller 处理表单请求

创建一个控制器来处理表单,并实现数据绑定。
在这里插入图片描述

步骤 3: 创建 Thymeleaf 模板文件

在src/main/resources/templates 目录下
创建两个 Thymeleaf 模板文件:一个用于显示表单 (login.html),另一个用于展示提交后的结果 (result.html)。

login.html

在这里插入图片描述

result.html

在这里插入图片描述

这个模板用于展示表单提交的结果,并提供一个返回按钮让用户回到表单页面。
在application.yml,

在这里插入图片描述

spring:
  thymeleaf:
    encoding: UTF-8
    #开发时关闭缓存(模板只加载一次),不然没法看到实时页面需要重构或重启
    cache: false
    prefix: classpath:/templates/  #(默认)
    suffix: .html

步骤 4: 运行应用程序

运行你的 Spring Boot 应用程序,打开浏览器并访问 http://localhost:8080/toLogin,你应该能看到表单页面。填写用户名和电子邮件地址并提交表单后,你会看到结果页面,并且可以通过返回按钮回到表单页面。
在这里插入图片描述
在这里插入图片描述

Spring Boot 处理JSON 数据的过程

1.创建实体类

在com.bushuo.demo01包中,创建一个实体类来表示要处理的 JSON 数据。例如,创建一个 Person 类:
在这里插入图片描述

2.创建视图页面

在src/main/resources/templates 目录下,创建视图页面input.html.
在这里插入图片描述

3.控制器

在这里插入图片描述

4.运行

在这里插入图片描述
在这里插入图片描述

总结

通过这些步骤,可以在 Spring Boot 应用程序中使用 Thymeleaf 创建一个简单的表单,并处理表单提交的数据。可以根据实际需求进一步扩展这个示例,例如添加更多的表单字段、进行更复杂的表单验证、使用数据库存储数据等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/882120.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

探索 ShellGPT:终端中的 AI 助手

文章目录 探索 ShellGPT&#xff1a;终端中的 AI 助手背景介绍ShellGPT 是什么&#xff1f;如何安装 ShellGPT&#xff1f;简单的库函数使用方法场景应用常见问题及解决方案总结 探索 ShellGPT&#xff1a;终端中的 AI 助手 背景介绍 在当今快速发展的技术领域&#xff0c;命…

Linux:用户账号管理和组账号管理

用户账号管理 账号控制总述 用户账户 作用: 1.可以登陆操作系统 2.不同的用户具备不同的权限 唯一标识&#xff1a;UID&#xff08;编号从0开始的编号&#xff0c;默认最大60000&#xff09;zhangsan(UID 1200) 管理员root的UID&#xff1a;永远为0 系统用户&#xff08;为程…

信息安全工程师(11)网络信息安全科技信息获取

一、信息获取的重要性 在网络安全领域&#xff0c;及时、准确地获取科技信息对于防范和应对网络威胁至关重要。这些信息可以帮助安全团队了解最新的攻击手段、漏洞信息、防护技术等&#xff0c;从而制定有效的安全策略和应对措施。 二、信息获取的来源 网络信息安全科技信息的获…

运行 xxxxApplication 时出错。命令行过长。 通过 JAR 清单或通过类路径文件缩短命令行,然后重新运行。

一、问题描述 运行 xxxxApplication 时出错。命令行过长。 通过 JAR 清单或通过类路径文件缩短命令行&#xff0c;然后重新运行。 二、问题分析 在idea中&#xff0c;运行一个springboot项目&#xff0c;在使用大量的库和依赖的时候&#xff0c;会出现报错“命令行过长”&…

一文读懂HPA弹性扩展自定义指标和缩放策略

一文读懂HPA弹性扩展自定义指标和缩放策略 目录 1 概念 1.1 什么是HPA1.2 HPA 的自定义指标&#xff08;Custom Metrics&#xff09;与扩展1.3 基于多指标的 HPA 1.3.1 工作原理1.3.2 例子&#xff1a;基于 CPU、内存和 QPS 的 HPA 配置 1.4 HPA 的扩缩容行为&#xff08;Beh…

带你0到1之QT编程:十八、最简单之TCP协议工作原理及实战编程

此为QT编程的第十八谈&#xff01;关注我&#xff0c;带你快速学习QT编程的学习路线&#xff01; 每一篇的技术点都是很很重要&#xff01;很重要&#xff01;很重要&#xff01;但不冗余&#xff01; 我们通常采取总-分-总和生活化的讲解方式来阐述一个知识点&#xff01; …

OpenCV运动分析和目标跟踪(3)计算图像序列的加权平均值函数accumulateWeighted()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 更新一个运行平均值。 该函数计算输入图像 src 和累积器 dst 的加权和&#xff0c;使得 dst 成为帧序列的运行平均值&#xff1a; dst ( x , y…

git使用“保姆级”教程1——简介及配置项设置

一、git介绍 Git是一个开源的分布式版本控制系统&#xff0c;用于&#xff1a;敏捷高效地处理任何或小或大的项目。Git 是Linus Torvalds 为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。版本控制&#xff1a; 版本控制&#xff08;Revision control&#xff…

《概率论与数理统计》学渣笔记

文章目录 1 随机事件和概率1.1 古典概型求概率随机分配问题简单随机抽样问题 1.2 几何概型求概率1.3 重要公式求概率 2 一维随机变量及其分布2.1 随机变量及其分布函数的定义离散型随机变量及其概率分布&#xff08;概率分布&#xff09;连续型随机变量及其概率分布&#xff08…

【MYSQL】聚合查询、分组查询、联合查询

目录 聚合查询聚合函数count()sum()avg()max()和min()总结 分组查询group by 子句having 子句 联合查询笛卡尔积内连接外连接自连接子查询单行子查询多行子查询from子句使用子查询 合并查询 聚合查询 聚合查询就是针对表中行与行之间的查询。 聚合函数 count() count(列名)&a…

计算机网络笔记002

### 课堂讨论对话 **学生A**: 老师&#xff0c;计算机网络的组成是怎样的&#xff1f;&#x1f914; **老师**: 非常好的问题&#xff01;计算机网络主要由硬件、软件和通信协议三部分组成。我们先从硬件开始讨论吧。 **学生B**: 硬件包括哪些设备呢&#xff1f;&#x1f60…

【案例分享】智慧工地以及档案资料电子化

汇匠源分别在2020年和2023年与中国电建昆明院进行了项目合作&#xff0c;其中包括智慧工地的信息管理平台建设、数据录入、接口研发等&#xff1b;档案资料电子化的施工过程资料整理、归档等工作。 智慧工地 — 项目概况 — 项目名称&#xff1a;某JR项目智慧工地信息管理…

DriveMatriX Highway Dataset :高速公路驾驶数据集(猫脸码客 第196期)

DriveMatriX Highway Dataset 1.0&#xff1a;自动驾驶与ADAS感知验证的里程碑 在当今快速发展的自动驾驶&#xff08;AV&#xff09;和高级驾驶辅助系统&#xff08;ADAS&#xff09;领域&#xff0c;数据的获取与处理成为了推动技术进步的关键因素。为了在这些复杂且多变的交…

Allegro第二季度GMV增长11.1%,活跃买家突破2000万

9月19日&#xff0c;波兰电商巨头Allegro公布了2024年第二季度财报。第二季度&#xff0c;Allegro的商品交易总额&#xff08;GMV&#xff09;同比增长11.1%&#xff0c;调整后EBITDA同比增长31.5%&#xff0c;均好于预期。 财报显示&#xff0c;Allegro各区域活跃买家数量超过…

java日志框架之Log4j

文章目录 一、Log4j简介二、Log4j组件介绍1、Loggers (日志记录器)2、Appenders&#xff08;输出控制器&#xff09;3、Layout&#xff08;日志格式化器&#xff09; 三、Log4j快速入门四、Log4j自定义配置文件输出日志1、输出到控制台2、输出到文件3、输出到数据库 五、Log4j自…

学习记录:js算法(四十二): 寻找两个正序数组的中位数

文章目录 寻找两个正序数组的中位数我的思路网上思路 总结 寻找两个正序数组的中位数 给定两个大小分别为 m 和 n 的正序&#xff08;从小到大&#xff09;数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 示例 1&#xff1a; 输入&#xff1a;nums1 [1,3], n…

Transformer推理结构简析(Decoder + MHA)

一、Transformer 基本结构 Transformer由encoder和decoder组成&#xff0c;其中&#xff1a; encoder主要负责理解&#xff08;understanding&#xff09; The encoder’s role is to generate a rich representation (embedding) of the input sequence, which the decoder c…

【深度学习】(5)--搭建卷积神经网络

文章目录 搭建卷积神经网络一、数据预处理1. 下载数据集2. 创建DataLoader&#xff08;数据加载器&#xff09; 二、搭建神经网络三、训练数据四、优化模型 总结 搭建卷积神经网络 一、数据预处理 1. 下载数据集 在PyTorch中&#xff0c;有许多封装了很多与图像相关的模型、…

Java/Spring项目的包开头为什么是com?

Java/Spring项目的包开头为什么是com&#xff1f; 下面是一个使用Maven构建的项目初始结构 src/main/java/ --> Java 源代码com.example/ --->为什么这里是com开头resources/ --> 资源文件 (配置、静态文件等)test/java/ --> 测试代码resourc…

Visual Studio-X64汇编编写

纯64位汇编&#xff1a; includelib ucrt.lib includelib legacy_stdio_definitions.lib includelib user32.libextern printf:proc extern MessageBoxA:proc.data szFormat db "%s",0 szHello db "HelloWorld",0 szRk db "123",0.code start p…