【仿牛客网笔记】Spring Boot实践,开发社区登录模块-开发注册功能

请添加图片描述
访问注册页面
创建LoginController后,创建一个访问注册的方法,获取注册的页面,返回注册页面的路径,在方法上声明访问路径,请求方式时GET。
请添加图片描述
对象对路径的处理
请添加图片描述
请添加图片描述
修改首页和注册
请添加图片描述
因为每个页面的头部都是一样的,为了方便,可以服用可以通过在head中写上,th:fragment= " "
请添加图片描述
当从另一个页面复用首页的时候可以使用th:replace=“”
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
生成激活码,文件上传的时候需要给文件生成一个随机的名字,都是随机的字符串。静态方法。用到UUID。toString得到了随机字符串。替换到所有的字符串-为空
请添加图片描述
使用MD5的方式进行加密,提交的密码是明文,提交的时候为加密的。
MD5有两个特点:只可以加密不可以解密。
无论是简单的密码还是复杂的密码都加上一个随机的字符串。增加了破解的难度。提高安全性。
MD5是静态方法。

通过StringUtils进行判空。空串和空格都会认为空,为空返回null
return语句的意思是将结果加密成十六进制的结果返回,但是字节类型,需要将字符串通过getBytes转化成为字节类型。
请添加图片描述

开发注册的业务。
注册的过程中需要发邮件客户端和模板引擎需要注入进来。
请添加图片描述
激活码中还需要域名和项目名。因为不是Bean所以使用的@Value注解
请添加图片描述
将返回的结果封装到Map中,实例化Map,将结果返回到Map中。对
请添加图片描述
请添加图片描述

验证账号和邮箱是不是存在。
请添加图片描述
注册用户,将用户的信息放入到库中。需要生成随机字符串,生成随机字符串5位。
有salt之后可以对密码加密。设置到User对象中,对没有加密的密码进行一个覆盖。
然后在设置类型,注册的用户默认都是普通用户。
状态,默认是0,没有激活的状态。
发送激活码
随机的头像,牛客网有1001, images.nowcoder.com/head/0t.png, %d是占位符,表示是个数字, new Random().nextInt() 随机整数,整数的范围在1000以内。
创建的时间
调用insert的方法添加到库里。
请添加图片描述
需要给用户发送一个激活邮件,邮件的话是HTML,方便带一个链接,模板为activaton.html
对模板进行处理。

在这里插入图片描述

设置url路径,101为用户的id,需要进行拼接,路径需要动态的拼接,首先是域名,其次是项目名,在然后是功能的访问名,需要写死,然后是id,最后是激活码。最后将链接url加入到context中。
利用模板引擎生成邮件的内容,将context穿入到路径中,后缀不写。
生成之后调用sendMail发送给用户

请添加图片描述
开发控制器controller,开发前后端控制的逻辑。注入UserService之后需要定义一个方法来处理注册的请求,是向浏览器提交的请求,所有请求为POST。首先生成路径通过RequestMapping。参数为Model方便传数据,页面会传入账号密码或邮箱,或者参数直接为User。定义一个map并判断当map为空的时候,表示注册成功了。注册成功之后调到首页,因为要去激活。
请添加图片描述
激活通过第三方的页面为operate-result.html。底部的跳转是通过js实现的。

请添加图片描述

首先给出提示,提示之后需要给出跳转的路径,最后跳转到我们要去的网页模板。

在这里插入图片描述
定义thymleaf的模板。
请添加图片描述
修改相对路径为thymleaf模板的路径。
请添加图片描述
模板的复用
请添加图片描述

中间的内容配置,不同的信息需要根据不同的内容去配置。
自动跳的路径是动态的。
请添加图片描述

继续在Controller完成余下的逻辑。如果注册失败的时候需要显示失败的消息,并将账号,密码和邮箱的信息显示。
在这里插入图片描述

对注册页面模板的处理,register.html的内容的处理。

在form标签中声明使用post的方式提交数据,声明提交的路径。
请添加图片描述
表单需要提时候,需要有一个提交按钮,在button标签中。
请添加图片描述
添加name请添加图片描述
密码和确认密码是一样的。请添加图片描述
邮箱请添加图片描述
需要通过Value添加默认值。默认值的显示。
当userb不为空的时候显示,否则就不显示请添加图片描述
请添加图片描述
请添加图片描述
错误的信息显示。
请添加图片描述
请添加图片描述
请添加图片描述
错误的消息默认不会显示,错误消息是否展现基于input框中样式class,如果class,带着is-invalid如果表示非法的则显示错误信息,否则不会显示。需要动态的判断。
请添加图片描述
请添加图片描述
请添加图片描述
激活注册账号。
1.激活要么成功,
2.重复激活给提示,
3.激活码可能是伪造的。
常量的接口放到util,取名CommunityConstant
请添加图片描述
请添加图片描述
激活首先查到用户,然后在查看激活码
为1是重复的激活
如果code和激活状态是一样的状态,则成功。将传入状态和userid。
否则失败。
请添加图片描述
写完业务层需要在Controller中处理。
声明请求的路径
请添加图片描述

请添加图片描述
还需要处理登录页面,添加一个登录页面的请求。
请添加图片描述
还需要在login.html中添加声明
请添加图片描述
请添加图片描述
首页配置登录的页面配置
请添加图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值