Spring boot搭建web应用集成thymeleaf模板实现登陆

yizhihongxing

下面就是详细讲解Spring Boot搭建Web应用集成Thymeleaf模板实现登录的攻略。

1. 新建Spring Boot项目

首先,打开IDE,新建一个Spring Boot项目。在Maven项目的pom.xml中添加thymeleaf依赖:

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

这个依赖将帮我们自动引入Thymeleaf和Spring Boot的集成组件。

2. 编写登录页面

创建一个登录页面,文件名为login.html。代码如下:

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Login</title>
</head>
<body>
    <h2>Login</h2>
    <form method="post" th:action="@{/login}">
        <label>Username: <input type="text" name="username" /></label><br>
        <label>Password: <input type="password" name="password" /></label><br>
        <input type="submit" value="Login" />
    </form>
</body>
</html>

该页面包含一个表单,其中有两个输入框和一个提交按钮。它们的name属性可以用来在后台获取值。表单的method属性值为post,action属性值为@{/login}@{/login}表示我们在后台会处理一个/login的请求。

3. 编写后台处理逻辑

在后台创建一个UserController类,代码如下:

@Controller
public class UserController {

    @GetMapping("/login")
    public String login() {
        return "login";
    }

    @PostMapping("/login")
    public String login(@RequestParam String username, 
                        @RequestParam String password, 
                        Model model) {
        if (username.equals("admin") && password.equals("admin")) {
            return "success";
        } else {
            model.addAttribute("error", "Invalid username or password");
            return "login";
        }
    }

}

在该类中,我们定义了处理/login请求的GET和POST请求。GET请求返回login页面,POST请求会根据用户输入的用户名和密码判断是否登录成功,若成功则返回success页面,否则返回login页面,并设置一个error属性,用于在页面上显示错误信息。

上面我们在处理POST请求时用到了@RequestParam注解,它能够从请求中获取参数,这里我们将用户名和密码都获取了出来。

我们还用到了Model对象,通过它向页面中传递信息,比如上面代码中的model.addAttribute("error", "Invalid username or password")用于将一个名为error的属性,值为"Invalid username or password"传递到页面中。这样,在login.html中就可以通过th:text="${error}"获取该属性的值,进行相应的提示。

4. 创建成功页面

在项目中添加一个success.html页面,代码如下:

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Success</title>
</head>
<body>
    <h2>Login Success</h2>
    <p>Welcome, ${name}!</p>
</body>
</html>

该页面会显示一个欢迎信息,其中的${name}将在后台传递。也就是说,我们需要在后台处理登录成功时将用户名传递到该页面中。

5. 完整代码

UserController代码:

@Controller
public class UserController {

    @GetMapping("/login")
    public String login() {
        return "login";
    }

    @PostMapping("/login")
    public String login(@RequestParam String username, 
                        @RequestParam String password, 
                        Model model) {
        if (username.equals("admin") && password.equals("admin")) {
            model.addAttribute("name", username);
            return "success";
        } else {
            model.addAttribute("error", "Invalid username or password");
            return "login";
        }
    }

}

login.html代码:

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Login</title>
</head>
<body>
    <h2>Login</h2>
    <form method="post" th:action="@{/login}">
        <label>Username: <input type="text" name="username" /></label><br>
        <label>Password: <input type="password" name="password" /></label><br>
        <input type="submit" value="Login" />
        <p th:text="${error}" style="color:red;"></p>
    </form>
</body>
</html>

success.html代码:

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Success</title>
</head>
<body>
    <h2>Login Success</h2>
    <p>Welcome, ${name}!</p>
</body>
</html>

至此,我们已经完成了Spring Boot集成Thymeleaf模板实现登录的整个过程。你可以运行该项目,输入admin/admin进行登录,如果登录成功将跳转到success页面,欢迎你的到来。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Spring boot搭建web应用集成thymeleaf模板实现登陆 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • jsp SmartUpload 实现上传功能代码

    JSP SmartUpload 是一个第三方的文件上传组件,可以让我们非常方便地实现文件上传功能。下面我会详细讲解如何使用 JSP SmartUpload 实现上传功能的完整攻略。 1. 引入 JSP SmartUpload 组件 首先需要下载 JSP SmartUpload 组件并引入到项目中。可以在官网上进行下载:http://www.jspsmart.…

    Java 2023年6月15日
    00
  • 无感NullPointerException的值相等判断方法

    对于Java程序员来说,NullPointerException是一个非常常见的异常。在日常编写代码时,避免NullPointerException是我们需要极力避免的一种情况。然而,在某些情况下,我们必须将某些变量的值与null进行比较。如果我们没有小心地编写我们的代码,就有可能引发NullPointerException。此时,我们就需要找到一种方法来避…

    Java 2023年5月25日
    00
  • java的JIT 工作原理简单介绍

    当Java程序运行时,JIT(即时编译器)扮演着非常重要的角色。JIT的主要功能是将Java程序编译为本机机器代码,以提高程序的执行效率。下面将详细介绍Java的JIT工作原理。 JIT工作原理 JIT工作原理是将Java程序源代码编译成字节码,然后根据实际运行情况将字节码转换成本地机器代码。这可以提高Java程序的运行速度。 具体的JIT工作流程如下: 解…

    Java 2023年5月26日
    00
  • IDEA 自带的数据库工具真的很牛逼(收藏版)

    讲解“IDEA 自带的数据库工具真的很牛逼(收藏版)”的完整攻略,可以分为以下几个部分: 前置条件 配置数据库连接 创建数据库和表 编写 SQL 查询语句 运行查询语句 两条示例 总结 1. 前置条件 在使用 IDEA 自带的数据库工具之前,需要先下载并安装好 MySQL 数据库,并且确保 MySQL 数据库已经启动和运行。 2. 配置数据库连接 在 IDE…

    Java 2023年5月20日
    00
  • JavaEE简介_动力节点Java学院整理

    JavaEE简介_动力节点Java学院整理 JavaEE(Java Enterprise Edition)是Java SE(Java Standard Edition)的扩展,旨在为企业级应用程序提供支持。其包含许多不同的规范和技术,用于开发和部署企业应用程序。JavaEE应用程序通常运行在JavaEE兼容的应用服务器上,并具有高可用性、可伸缩性和安全性的特…

    Java 2023年5月20日
    00
  • eclipse怎么导入Api文档?eclipse安装Api文件的方法

    当我们在使用 Eclipse 进行 Java 项目开发时,可能需要查看 Java API 文档以了解 Java 标准库中提供的类和方法。本文将提供详细的步骤,介绍如何在 Eclipse 中导入 Java API 文档以便更好地查看和使用 Java 标准库。 步骤一:下载 Java API 文档 首先,我们需要从 Oracle 官方网站下载 Java API …

    Java 2023年6月15日
    00
  • SpringBoot Web依赖教程

    下面我将为您详细讲解“SpringBoot Web依赖教程”的完整攻略。 什么是SpringBoot Web依赖? SpringBoot是一个快速创建和开发Spring基础项目的框架,它自带了大量的依赖包,其中就包括了SpringBoot Web依赖。SpringBoot Web依赖可以让我们方便地创建Web应用程序,支持使用SpringMVC框架,并集成了…

    Java 2023年5月15日
    00
  • Java中BigInteger类的使用方法详解(全网最新)

    Java中BigInteger类的使用方法详解 简介 在 Java 中对于 数值类型 的定义都是有范围的,而当我们需要用到超出这个范围的大整数时,就需要 BigInteger 类了。BigInteger 类属于 java.math 包,可以让我们处理任意长度的整数。 基本使用 1. 创建 BigInteger 对象 我们可以直接使用不同的构造函数或者将字符串…

    Java 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部