JAVA电商秒杀实战(二)- - 实现登录功能
设计数据库
新建一个数据库的表,命名为miaosha_user,其中主要包括手机号、名字、密码、salt值、头像、注册时间、上次登录时间、登陆次数这些信息。
明文密码两次MD5加密
关于MD5,MD5的主要应用是对一段信息产生信息摘要,以防止被篡改。它可以说是文件的“数字指纹”。任何一个文件,无论是可执行程序、图像文件、临时文件或者其他任何类型的文件,也不管它体积多大,都有且只有一个独一无二的MD5信息值,并且如果这个文件被修改过,它的MD5值也将随之改变。因此,我们可以通过对比同一文件的MD5值,来校验这个文件是否被“篡改”过,这里我们就用到了MD5加密。
我们需要先引进MD5相关的依赖
接下来要实现一个MD5Util这个工具类,在这个里面进行两次MD5的加密
第一次MD5加密
第二次MD5加密
将两次加密的数据传入
JSR303参数检验和全局异常处理器
JSR303 是一套JavaBean参数校验的标准,它定义了很多常用的校验注解,我们可以直接将这些注解加在我们JavaBean的属性上面,就可以在需要校验的时候进行校验了。
首先引入依赖
我们需要先在参数前面加一个@Valid注解
然后给需要验证的变量加上不为空、长度和格式的注解
新建两个验证器的类,分别为IsMobile和IsMobileValidator
异常处理:
新建一个GlobalExceptionHandler类,加一个@ControllerAdvice注解与@ResponseBody注解
接下来再进行定义一个全局异常
分布式session
创建一个工具类UUIDUtil
在MiaoshaUserService类中生成cookie并延长有效期
接下来新新建一个WebConfig类
再新建一个UserArgumentResolver类进行解析user对象