首页 > 其他分享 >SpringBoot教学资料6-SpringBoot登录注册功能实现(带简单前端)

SpringBoot教学资料6-SpringBoot登录注册功能实现(带简单前端)

时间:2023-07-04 10:33:08浏览次数:34  
标签:return SpringBoot 登录 教学资料 user org import login public

 项目样式:

 

 

 

 

 

 SQL:

CREATE TABLE `t_user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(32) NOT NULL,
  `password` varchar(32) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `username` (`username`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8

 

项目结构:

 

pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.13</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.bai</groupId>
    <artifactId>login</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>login</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <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.3.1</version>
        </dependency>

        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <scope>runtime</scope>
        </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-test</artifactId>
            <version>2.3.1</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

application.properties:

# 数据库连接信息
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/companydb?serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123456

# mapper映射
mybatis.type-aliases-package=com.bai.login.pojo
mybatis.mapper-locations=classpath:mapper/*.xml

 login.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>login</title>
</head>
<body>
<form method="post" action="/user/login">
    用户名:<input name="username" type="text"><br>
    密码:<input name="password" type="password"><br>
    <input type="submit" value="登录验证">
    <input type="button" onclick="javascript:window.location.href='regist.html'" value="去注册页面">
</form>
</body>
</html>

regist.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form action="/user/regist" method="post">
    用户名:<input type="text" name="username"><br>
    密码:<input type="password" name="password"><br>
    <input type="submit" value="注册验证"><br>
    <input type="button" onclick="javascript:window.location.href='login.html'" value="返回登录界面">
</form>
</body>
</html>

User.java:

package com.bai.login.pojo;

public class User {
    private Integer id;
    private String username;
    private String password;

    public Integer getId() {
        return id;
    }

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

    public String getUsername() {
        return username;
    }

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

    public String getPassword() {
        return password;
    }

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


}

UserMapper.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.bai.login.mapper.UserMapper">
    <select id="findAll" resultType="User">
        select * from t_user
    </select>
    <select id="findByName" resultType="User">
        select * from t_user where username = #{username}
    </select>
    <select id="findPswByName" resultType="String">
        select password from t_user where username = #{username}
    </select>
    <insert id="save">
        insert into t_user(username,password) value (#{username},#{password})
    </insert>
</mapper>

UserMapper.java:

package com.bai.login.mapper;

import com.bai.login.pojo.User;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface UserMapper {
    List<User> findAll();
    User findByName(String name);
    String findPswByName(String UserName);
    void save(User user);
}

UserService.java:

package com.bai.login.service;

import com.bai.login.mapper.UserMapper;
import com.bai.login.pojo.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class UserService {
    @Autowired
    private UserMapper userMapper;
    public String login(User user){
        try {
            User userExistN=userMapper.findByName(user.getUsername());
            if (userExistN!=null){
                String userExistP=userMapper.findPswByName(user.getUsername());
                if (userExistP.equals(user.getPassword())){
                    return user.getUsername()+"用户登录成功,欢迎您!";
                }else {
                    return "登录失败,密码错误";
                }
            }else {
                return "登录失败,账户不存在";
            }
        } catch (Exception e) {
            e.printStackTrace();
            return e.getMessage();
        }
    }

    public String regist(User user){
        try {
            User userExist=userMapper.findByName(user.getUsername());
            if (user.getUsername().equals("")){
                return "账户名不能为空";
            }else if (user.getPassword().equals("")){
                return "密码不能为空";
            }else if (userExist!=null) {
                return "账户已经存在";
            }else {
                userMapper.save(user);
                return "注册成功";
            }
        } catch (Exception e) {
            e.printStackTrace();
            return e.getMessage();
        }
    }


    public List<User> findAll(){
        List<User> list=userMapper.findAll();
        return list;
    }



}

UserController.java:

package com.bai.login.controller;

import com.bai.login.pojo.User;
import com.bai.login.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
@RequestMapping("/user")
public class UserController {
    @Autowired
    private UserService userService;

    @RequestMapping("/login")
    public String login(User user){
        return userService.login(user);
    }

    @RequestMapping("/regist")
    public String regist(User user){
        return userService.regist(user);
    }

    /**
     * 解决查询数据库中文出现乱码问题
     * @return
     */
    @RequestMapping(value = "/alluser",method = RequestMethod.GET,produces = "application/json;charset=UTF-8" )
    public List<User> findAll(){
        return userService.findAll();
    }


}

LoginApplication.java:

package com.bai.login;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class LoginApplication {

    public static void main(String[] args) {
        SpringApplication.run(LoginApplication.class, args);
    }

}

 

 访问地址:http://localhost:8080/login.html  

标签:return,SpringBoot,登录,教学资料,user,org,import,login,public
From: https://www.cnblogs.com/lysboke/p/17525033.html

相关文章

  • SpringBoot SpringCloud Nacos等一些组件版本对应
    毕业版本依赖关系(推荐使用)由于SpringBoot2.4+和以下版本之间变化较大,目前企业级客户老项目相关SpringBoot版本仍停留在SpringBoot2.4以下,为了同时满足存量用户和新用户不同需求,社区以SpringBoot2.4为分界线,同时维护2.2.x和2021.x两个分支迭代。2021.x分支......
  • SpringBoot教学资料5-SpringBoot一对多查询(带简单前端)
    项目展示:  项目结构:SQL:CREATETABLE`t_article`(`id`int(20)NOTNULLAUTO_INCREMENTCOMMENT'文章id',`title`varchar(200)DEFAULTNULLCOMMENT'文章标题',`content`longtextCOMMENT'文章内容',PRIMARYKEY(`id`))ENGINE=......
  • SpringBoot教学资料4-SpringBoot简单增删改查(带前端)
    最终样式:增: 删:  改:  项目结构:     - springboot1.5.9以下兼容jdk1.7- springboot2.x.x版本兼容jdk1.8- springboot3.0及以上版本兼容jdk17- springboot2.1之后的版本已经兼容JDK11 pom.xml:<?xmlversion="1.0"encoding="UTF-8"?><......
  • SpringBoot教学补充资料3-Maven安装
    Maven下载地址:https://maven.apache.org/download.cgi下载后进行解压,记住解压路径。         mvn -v ......
  • SpringBoot教学资料3-SpringBoot启动常见问题
    java.lang.RuntimeException:java.lang.RuntimeException:org.codehaus.plexus.component.repository.excMaven版本过高,与你使用的IDEA版本不兼容。推荐版本:maven3.6(建议)/maven3.9控制台Processterminatedhttps://blog.csdn.net/weixin_44589991/article/details/115013......
  • SpringBoot教学补充资料1-基础SQL语句
    #查询所有内容select*fromemployeeselect(属性1,属性2,...)from表名#通过id查询select*fromemployeewhereuid=1select(属性1,属性2,...)from表名where属性=指定的属性值#增加insertintoemployee(uid,uname,uage,uposition)values(8,'小黑',38,'实习生......
  • 第四天(Thymeleaf,MVC自动配置原理,,配置项目环境及首页,页面国际化,登录+拦截器)
    ThymeleafMVC自动配置原理ContentNegotiatingViewResolver内容协商视图解析器转换器和格式化器配置项目环境及首页页面国际化中英切换登录+拦截器......
  • SpringBoot教学补充资料2-MyBatis简单查询项目
    SQL:CREATETABLE`tb_user`(`id`int(11)NOTNULLAUTO_INCREMENT,`username`varchar(20)DEFAULTNULL,`password`varchar(20)DEFAULTNULL,`gender`char(1)DEFAULTNULL,`addr`varchar(30)DEFAULTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBA......
  • 解决Springboot项目打成jar包后获取resources目录下的文件失败的问题
    前几天在项目读取resources目录下的文件时碰到一个小坑,明明在本地是可以正常运行的,但是一发到测试环境就报错了,说找不到文件,报错信息是:classpathresource[xxxx]cannotberesolvedtoabsolutefilepathbecauseitdoesnotresideinthefilesystem:jar:file:xxxx.jar!/......
  • SpringBoot 服务接口限流
    前言在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。限流可以认为服务降级的一种,限流通过限制请求的流量以达到保护系统的目的。一般来说,系统的吞吐量是可以计算出一个阈值的,为了保证系统的稳定运行,一旦达到这个阈值,就需要限制流量并采取一些措施以完成限制流量的......