springboot实现最基础的登录注册功能(步骤详细,逻辑清晰)

这篇具有很好参考价值的文章主要介绍了springboot实现最基础的登录注册功能(步骤详细,逻辑清晰)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

适合springboot2初学者

学了springboot2知识,就要用起来,不敲代码的程序员不是好程序员。笔者参考了他人的文章实现的这个功能,在自己的搭建过程中也遇到了许多问题,并花了一定的时间解决,下面开始吧!

一、登录注册第一步

首先,实现登录注册,我们是不是要先定义一个表?表里面要有什么,看看自己的需求。下面是笔者的数据库表,创建一个名为demo的数据库,里面建立一个user用户表,并有如图字段,我先记录了一些信息可忽略:springboot实现最基础的登录注册功能(步骤详细,逻辑清晰)
二、

搭建springboot项目

笔者是从maven项目开始搭建的,然后手打成springboot项目,其实二者区别就是依赖的建立问题,maven项目的依赖是空的,springboot在创建的过程中有勾选的选项,就不用手动输入依赖了。创建一个简单的springboot项目相信各位都会,不行就找其他的博客看看。创建完成后,
1.在pom.xml文件中导入依赖

<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.2.2</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.experimental</groupId>
            <artifactId>spring-native</artifactId>
            <version>${spring-native.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
              <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.2.2</version>
        </dependency>
    </dependencies>

导入这几个依赖就🆗了
2.搭建基本项目目录结构
最重要的是搭建controller(控制层),mapper(接口层),service(业务层),entity(实体层)四个包,然后对比一下有没有templates,static,application.properties,这几个文件,没有就手动加,跟我保持一样springboot实现最基础的登录注册功能(步骤详细,逻辑清晰)
3.连接数据库
仔细看一下,pom.xml文件里面是不是导入了mysql等依赖?那就要用起来数据库,怎么连接数据库?在application.properties文件里搭建

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.password=54jacksparrow
spring.datasource.username=root
spring.datasource.url=jdbc:mysql://localhost:3306/demo?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=true
spring.thymeleaf.prefix=classpath:/templates/

3306后面接的是自己创建的数据库名字,初次之外,修改自己的数据库用户名和密码,最后一行的意思是可以让程序找到templates文件夹下的html文件。
4.连好数据库后写代码实现
这里有必要介绍一下各个模块的作用:

  • controller
    控制层,用于实现最终的逻辑代码,在这里面实现提供给前端后端的逻辑接口
  • entity
    实体类层,用于定义改实体类应该有的属性,建议和数据库的字段一样,省去后期的麻烦
  • mapper
    接口层,用于操作数据库,sql语句就是在这里实现的
  • service
    业务层,实现和mapper的对接的方法,然后提供给controller层,各位可以自行慢慢理解
    建议各个包里面的东西名字以实体类为起点,笔者这里没定义好,比如
    entity里面定义实体User,那么其他三个分别为,UserMapper,UserService,UserController,这里大家一定要修改一下目录,别跟我一样
    它们之间的关系为:mapper层注入到service层,service层注入到controller层,层层嵌套
    开发顺序为;
  • entity.User.java
    这里是实现有参无参构造,setter,getter,toString()方法
public class UserBean  {

    private Integer id;
    private String username;
    private String password;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return username;
    }

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

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

  • mapper.UserMapper.java
    Mapper与mybatis有关,没有在pom.xml里面导入mybatis依赖会出错
@Mapper
public interface UserMapper {
    @Select("SELECT * FROM user WHERE username = #{username} AND password = #{password}")
    UserBean getInfo(@Param("username") String username, @Param("password") String password);
 
    @Insert("insert into user(username,password)values(#{username},#{password})")
    void saveInfo(@Param("username") String username, @Param("password") String password);
}

  • service.UserService.java
@Service
public class UserService {
    //将dao层属性注入service层
    @Resource
    private UserMapper userMapper;

    public UserBean LoginIn(String username, String password) {
        return userMapper.getInfo(username,password);
    }

    public void Insert(String username,String password){
        userMapper.saveInfo(username, password);
    }
}

  • controller.UserController.java
    这里类名没有对应,读者理解一下,我比较懒就不改了
@Controller
public class LoginController {
    //将Service注入Web层
    @Resource
    UserService userService;

    //实现登录
    @RequestMapping("/login")
    public String show(){
        return "login";
    }
    @RequestMapping(value = "/loginIn",method = RequestMethod.POST)
    public String login(String username,String password){
        UserBean userBean = userService.LoginIn(username, password);
        log.info("name:{}",username);
        log.info("password:{}",password);
        if(userBean!=null){
            return "redirect:/index.html";
        }else {
            return "error";
        }
    }
    @RequestMapping("/index.html")
    public String mainPage(){
        return "index";
    }
    @RequestMapping("/signup")
    public String disp(){
        return "signup";
    }

    //实现注册功能
    @RequestMapping(value = "/register",method = RequestMethod.POST)
    public String signUp(String username,String password){
        userService.Insert(username, password);
        return "success";
    }
}

  • 然后定义了这几个简单的html页面
    springboot实现最基础的登录注册功能(步骤详细,逻辑清晰)
  • error.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>错误</title>
</head>
<body>
<h1>登录或注册失败</h1>
</body>
</html>
  • index.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>首页</title>
</head>
<body>
<h1>欢迎来到首页</h1>
</body>
</html>
  • login.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>登录</title>

</head>
<body>
<form role="form" action = "/loginIn" method="post">
    账号:<input type="text" id="username" name = "username"> <br>
    密码:<input type="password" id = "password" name = "password"> <br>
    <input type="submit" id = "login" value = "登录">
</form>
<form role="form1" action="/signup" method="post">
    <input type="submit" id="register" value="注册">
</form>
</body>
</html>
  • singup.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>注册</title>
</head>
<body>
<form role="form" action="/register" method="post">
    请输入姓名:<input type="text" name="username" id="username"><br>
    请输入密码:<input type="password" name="password" id="password"><br>
    <input type="submit" name="sign" value="提交">
</form>

</body>
</html>
  • success.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>success</title>
</head>
<body>
<h1>登录/注册成功</h1>
</body>
</html>

完结撒花

我就不测了,跟我一样不出意外的话应该没有问题,只需localhost:8080/
后面加上在UserController.java里面的接口就可以了,或者直接去登录注册页面去查看接口文章来源地址https://www.toymoban.com/news/detail-404185.html

到了这里,关于springboot实现最基础的登录注册功能(步骤详细,逻辑清晰)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Django实现的登录注册功能

    在Web开发中,用户登录和注册是最基本且必不可少的功能。Django,作为一个高级的Python Web框架,为我们提供了强大的工具和库来快速实现这些功能。下面,我将详细介绍如何使用Django来实现用户登录和注册功能。 该项目是使用django+bootstrp开发的项目,包含以下功能 注册:

    2024年04月16日
    浏览(47)
  • Unity实现账号登录,注册功能

    制作了用户登录界面  关于弹窗使用了DOTween插件,实现渐隐渐显效果。 关于账号使用了本地Json读取, 默认账号:YSQS/YSQS1 密码:admin/admin1 注册功能其实应该重构的因为有二次读流的问题存在。 账号注册加入了邀请码(其实就一个if)  接下来就是我那臭死了的源码。 GameSt

    2024年02月11日
    浏览(41)
  • Java实现登录和注册功能

    本文主要应用的技术有:GUI和IO流 我们要利用Java的图形化界面编程实现一个拥有注册和登录简单功能的案例 设计思路:首先我们要实现注册功能,就要有一个用来储存用户名和密码的对象,这里所采用的对象就是文件,通过IO流操作,将用户名和密码以字符串拼接的方式存入

    2024年02月11日
    浏览(41)
  • SSM框架实现登录注册功能

    刚刚写出来的SSM登录注册案例,网上随便翻一下都有 ,本篇直接上手,使用Maven工程搭建一个简单的SSM框架实现简单的登录注册,验证重名功能。 链接:https://pan.baidu.com/s/1qJ8aN7rheZXWT2_O_uiBKg  提取码:6666  目录 项目结构图 持久层相关配置文件 applicationContext-dao.xml application

    2023年04月08日
    浏览(40)
  • Unity实现登录/注册/审核功能

    2024年01月23日
    浏览(49)
  • 微搭低代码实现登录注册功能

    原来产品在创建应用的时候可以创建模型应用,模型应用对应我们小程序的后端。最新的更新已经将模型应用的能力下线,那我们不得不自己实现一下后端的逻辑。 后端需要要求用户进行注册,注册完了之后进行登录。本文介绍一下如何借助API的能力实现注册和登录。 用户

    2024年02月04日
    浏览(48)
  • Springboot实现登录注册

    功能:1、实现用户的登录 2、实现用户的注册以及重名的判断 LoginControl: RegisterControl: UserInfDaoInterface: UserInf: UserInfService: UserInfServiceInterface: DemoApplication: application.properties: login.jsp login_success.jsp login_failure register.jsp register_success.jsp register_failure register_failure_user pom.

    2024年02月03日
    浏览(33)
  • Vue项目二 登录注册功能的实现

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 环境搭建完,根据管理系统用户需要注册,实现登录然后将用户信息保存在本地中的需求,本章主要实现系统登录注册功能。 首先分析注册页面所要实现的功能,其功能包括账号、昵称、密码和二次确

    2023年04月08日
    浏览(44)
  • 登录和注册页面 - 验证码功能的实现

    目录 1. 生成验证码 2. 将本地验证码发布成 URL 3. 后端返回验证码的 URL 给前端 4. 前端将用户输入的验证码传给后端 5. 后端验证验证码 使用hutool 工具生成验证码. 1.1 添加 hutool 验证码依赖 1.2 创建验证码的控制器  application.propertities 中添加验证码保存路径 ( 末尾一定要带斜杆

    2024年02月15日
    浏览(35)
  • Java开发:实现用户注册登录的功能

    一、前言 在Java开发过程中,实现用户的注册功能是最基本的,用户通过手机号或者邮箱作为注册账号也是非常常见的操作方式,不管是通过手机号注册或者邮箱注册,原理都差不多,那么本文就来分享一下在Java开发过程中的用户注册账号的功能实现。 二、准备工作 1、通过

    2023年04月09日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包