map转string charts php零基础入门视频 less使用 oracle查询所有数据库 js字符串排序 安卓程序源代码 docker查看所有容器 yml文件注释 mysql函数返回结果集 查看mysql密码 kubernetes集群 mysql入门 python3教程 python网页编程 java正则 javamysql java基础数据类型 java中long java遍历set 方正流行体 简体中文语言包 微信签名一句话至自己 ad19 临时会话 pr时间轴 html5制作 oracle表分区 painter下载 思源黑体 c4dr20 熊猫头表情包制作 3dmax布尔运算 ps画笔工具变成十字 双通道内存有什么好处 橙子助手 jquery之家 js格式化日期 光猫亮红灯 cad波浪线
当前位置: 首页 > 学习教程  > 编程语言

一个初学者的登录系统

2020/10/16 18:26:00 文章标签:

这个是一个简单的登陆系统,在登陆成功的情况下,返回josn,错误的情况下,如果密码错3次,就会被锁定。 这是Contruller层,我给大家仔细注释下。 package com.lijin.Crutroller;在这里插入代码片 import com.lijin.Entit…

这个是一个简单的登陆系统,在登陆成功的情况下,返回josn,错误的情况下,如果密码错3次,就会被锁定。

这是Contruller层,我给大家仔细注释下。
package com.lijin.Crutroller;在这里插入代码片

import com.lijin.Entity.Student;
import com.lijin.Service.Stuservice;
import com.lijin.commen.MD5;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

这个RestController意思就是返回josn的意思;是Controller和responsbody的缩写

@RestController
public class Denglu {

Autowired 是属性注入么,这是spring提供的按类型注入;

@Autowired   
private Stuservice stuservice;

标题 @RequestMapping("/denglu")这个注解不用多说了吧,请求路径;好好看看mvc

@RequestMapping("/denglu")
public Map<Object,Object> denglu(Student student) {

这里呢因为返回的是一个josn类型的,那么我们就要用到HashMap

    HashMap<Object, Object> objectObjectHashMap = new HashMap<>();
    ## 这里首先要判断账户密码是否为空,我这里是三个数据,看自己数据库设计;
    如果一旦有一个为空,那么就不可以;
    if ("".equals(student.getStuName()) || "".equals(student.getStuNo()) || "".equals(student.getStuPwd())) {
        objectObjectHashMap.put("erro", "录入信息不能为空");
        return objectObjectHashMap;
    } else {
    ## 这里是加密了账户密码;用到了一个类MD5加密,这是一个类,自己可以百度MD5就可以;是不可逆的,
        student.setStuPwd(MD5.encrypByMd5(student.getStuPwd()));
        Student query = stuservice.query(student);

如果啊返回来的对象不是空,那么就代表找到了这个对象;就可以成功的返回了;

        if (query != null) {
            objectObjectHashMap.put("respCode", 200);
            objectObjectHashMap.put("respMsg", "成功");
            return objectObjectHashMap;
        } else {
        ## 如果没有找到,那么就是失败了,这个时候就要统计他登录失败的次数,然后进行锁定;
        我们需要设计一张表,并且这个表要设置外键,映射用户表的主键就可以了;
            int id = stuservice.yonghucha(student);## 拿到这个用户的主id值;
            List<Integer> chaxunsid = stuservice.chaxunsid(); ## 这里你要先拿到表中的外键字段的所有下面要用;

意思是如果啊 这个集合为空,也就是这个表没有数据,一个程序第一次第一个人登录的时候,就这样理解,为空的时候,那么就要 int insersid = stuservice.insersid(id); 给外键字段加上这个id;因为实在错误的情况下写的,所以int mima1 = stuservice.mima(id, 1);错误的次数默认第一次就改成1;

            if (chaxunsid == null || chaxunsid.size() == 0) {
                int insersid = stuservice.insersid(id);
                int mima1 = stuservice.mima(id, 1);


            } else {
            ## 这个是不为空的情况下,我们判断这个集合中是否有这个登录用户的id;
            如果有,
                boolean contains = chaxunsid.contains(id);
                if (contains) {
                ## 那么要先查询错误的次数,
                    int c = stuservice.chashuliang(id);
      ## 然后给错误的次数+1;
                    int mima1 = stuservice.mima(id, c + 1);
                    ## 大于3就锁定
                    if (c >= 3) {
                        System.out.println("账户已经锁定");
                    }
                    }else{
                    ## 如果返回的是false,那么就说明这个集合中没有,那么我们就要拿到id;
                    并且 给他默认值1;

                    int insersid = stuservice.insersid(id);
                    int mima1 = stuservice.mima(id, 1);

                }
            }

                    objectObjectHashMap.put("respCode", 500);
                    objectObjectHashMap.put("respMsg", "失败");
                    return objectObjectHashMap;
                }
            }

        }


    }

本文链接: http://www.dtmao.cc/news_show_300420.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?