首页 > 其他分享 >spring boot ems案例用户注册功能

spring boot ems案例用户注册功能

时间:2024-03-02 16:46:04浏览次数:28  
标签:String 用户注册 spring boot user gender password public realname

用户注册功能部分代码:

实体类:

package com.baizhi.entity;

public class User {
    private Integer id;
    private String username;
    private String realname;
    private String password;
    private Boolean gender;

    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 getRealname() {
        return realname;
    }

    public void setRealname(String realname) {
        this.realname = realname;
    }

    public String getPassword() {
        return password;
    }

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

    public Boolean getGender() {
        return gender;
    }

    public void setGender(Boolean gender) {
        this.gender = gender;
    }

    public User() {
    }

    public User(Integer id, String username, String realname, String password, Boolean gender) {
        this.id = id;
        this.username = username;
        this.realname = realname;
        this.password = password;
        this.gender = gender;
    }

}

service:

package com.baizhi.service;

import com.baizhi.dao.UserDao;
import com.baizhi.entity.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.DigestUtils;
import org.springframework.util.ObjectUtils;

import java.nio.charset.StandardCharsets;

@Service
@Transactional
public class UserServiceImpl implements UserService{

    private UserDao userDao;

    @Autowired
    public UserServiceImpl(UserDao userDao) {
        this.userDao = userDao;
    }

    @Override
    public void register(User user) {
        //1.根据用户名查询数据库是否存在该用户名
        User userDB = userDao.findByUserName(user.getUsername());
        if(!ObjectUtils.isEmpty(userDB)) throw new RuntimeException("用户名已存在!");
        //进行注册 注册之前给明文密码加密
        String passwordSecret = DigestUtils.md5DigestAsHex(user.getPassword().getBytes(StandardCharsets.UTF_8));
        user.setPassword(passwordSecret);
        userDao.save(user);

    }
    
}

controller: 注册功能:

   /*
    * 用户注册
    *
    * */
    @RequestMapping("register")
    public String register(User user,String code,HttpSession session) throws UnsupportedEncodingException {
        log.debug("接收到验证码:{}",code);
        log.debug("用户名:{},真实姓名:{},密码:{},性别:{}",user.getUsername(),user.getRealname(),user.getPassword(),user.getGender());

        try {
            //1.比较验证码输入是否一致
            String sessionCode = session.getAttribute("code").toString();
            if(!sessionCode.equalsIgnoreCase(code)) throw new RuntimeException("验证码输入错误!");
            //2.注册用户
            userService.register(user);
        } catch (RuntimeException e) {
            e.printStackTrace();
            return "redirect:/regist.jsp?msg="+ URLEncoder.encode(e.getMessage(),"UTF-8");
        }

        return "redirect:/login.jsp";
    }

实现展示:

 

 

标签:String,用户注册,spring,boot,user,gender,password,public,realname
From: https://www.cnblogs.com/sxwgzx23/p/18048804

相关文章

  • 关于SpringMVC中@RequestMapping的params参数
    @RequestMapping注解的params参数同一个url,只要params不同,springmvc也是会区分匹配的。@PostMapping("/reduceProductStock")publicStringreduceProductStock(@RequestParamLongproductId,@RequestParamIntegerquantity){productService.reduceProductStock(pr......
  • Spring AI上架
    SpringAI来了SpringAI是AI工程师的一个应用框架,它提供了一个友好的API和开发AI应用的抽象,旨在简化AI应用的开发工序。提供对常见模型的接入能力,目前已经上架https://start.spring.io/,提供大家测试访问。(请注意虽然已经上架start.spring.io,但目前还是在Spring私......
  • Spring-自动配置
    自动配置流程细节梳理:1、导入starter-web:导入了web开发场景1、场景启动器导入了相关场景的所有依赖:starter-json、starter-tomcat、springmvc2、每个场景启动器都引入了一个spring-boot-starter,核心场景启动器。(上面三个也有)3、核心场景启动器引入了spring-boot-autoconfig......
  • 手动创建spring boot项目
    1.我们首先要创建一个Maven项目(这里就不过多演示)2.然后我们点击创建新模块,选择创建Maven模块,然后修改名称,Archtype选择quicker那个,再点击确定。3,创建好以后,我们进行手动的配置pom文件,输入红框中的东西4,创建相应的包,和Java文件5.在SpringbootCreatManualApplication和contro......
  • 【Spring AOP】SpringAOP配置过程——基于XML&&基于注解 && Spring AOP实现原理
    概念SpringAOP-AspectOrientedProgramming面向切面编程AOP的做法是将通用、与业务无关的功能抽象封装为切面类切面可配置在目标方法的执行前、后运行,真正做到即插即用可以在不修改源码的情况下对程序进行扩展AOP配置过程——基于XML配置0.添加依赖创建配置文件......
  • Spring-Boot学习
    Spring-boot学习笔记从零开始创建项目先创建一个空的Maven项目,然后在pom.xml引入Spring-boot-starter的父依赖<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.2......
  • SpringCloud Alibaba-4-Feign远程调用
    远程调用:在分布式系统中,我们使用springboot创建了各种各样服务,那么这些服务之间如何进行远程调用呢。如:订单微服务怎么去调用商品微服务?Ribbon:是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法和服务调用。Ribbon支持的负载均衡策略:BestAvailableRuleAvai......
  • 在 Spring Boot 3.x 中使用 SpringDoc 2 / Swagger V3
    SpringDocV1只支持到SpringBoot2.xspringdoc-openapiv1.7.0isthelatestOpenSourcereleasesupportingSpringBoot2.xand1.x.SpringBoot3.x要用SpringDoc2/SwaggerV3,并且包名也改成了springdoc-openapi-starter-webmvc-uiSpringDocV2https://spr......
  • spring cloud gateway使用 uri: lb://方式配置时,服务名的特殊要求
    在gateway中配置uri配置有三种方式,包括第一种:ws(websocket)方式:uri:ws://localhost:9000第二种:http方式:uri:http://localhost:8130/第三种:lb(注册中心中服务名字)方式:uri:lb://brilliance-consumer  其中ws和http方式不容易出错,因为http格式比较固定,但是lb方式比......
  • SpringBoot定时任务:使用shedlock解决SpringBoot分布式定时任务
    第一步:引入shedlock包maven中pom文件添加如下配置:<dependency><groupId>net.javacrumbs.shedlock</groupId><artifactId>shedlock-spring</artifactId><version>4.33.0</version>使用其他版本</dependency>第二步:添加shedlock-p......