用户登录
生成验证码
生成验证码功能由后端完成,通过点击验证码可以换下一张,这个功能由UUID先生成算数公式或者随机的字符,再存入redis中,并设置存活时间,再通过字节输出流返回在前端页面上
用户输入完用户名,密码还有验证码之后,如果输入都没错,会进行用户验证
如果用户登录的用户名和密码都没错,首先会进入recordLogininfor方法中
1.点击进recordLogininfor 方法中,会直接进入AsyncFactory中,执行匿名内部类,记录当前登录用户,获取客户端操作系统,获取客户端浏览器,封装对象,不管当前用户是否登录成功,都会记录本次操作,而这个异步工厂又是
懒汉式的单例模式,只有用户在下次重新登录的时候才会进行记录日志的操作
2.当异步工厂操作完之后,会进入execute方法中,这个方法的类是专门管理异步任务的类,在这个类中,会延迟10毫秒记录,因为,主线程和异步线程是一起执行的,如果不设置延迟操作,会出现异步线程比主线程先跑完,从而用户登录的时候,会登录失败,设置上延迟时间过后,就不会出现这种错误
执行完上述的两步操作之后,异步线程记录日志就算完成了,数据库已经记录了当前用户的操作