JavaWeb商城项目笔记--- Day1 (邮箱激活功能)

前言:这篇博客仅包括一些功能的思路,代码的逻辑,用来加深理解。因项目是一个整体,代码量较多,且代码彼此调用,略有耦合,某个模块的提取涉及到的相关代码较多,因此不再单独提取,将会在最后的一篇笔记中放上全部的代码。

功能出现场景
  1. 当用进行注册功能的时候,点击完注册按钮之后,前端会根据用户填写的email向其中发送一封含激活账户链接的邮件
  2. 然后,跳转到一个新的界面,提示用户进行激活操作。
  3. 用户在邮箱中点击激活链接之后,用户的信息变为可登陆,并且跳转到登陆界面
  4. 至此,邮箱激活功能结束至此,邮箱激活功能结束
功能图片演示
  1. 用户录入注册信息
    在这里插入图片描述
  2. 提示激活页面
    在这里插入图片描述
  3. 邮箱文件查看
    在这里插入图片描述
  4. 邮箱点击激活之后变化
    在这里插入图片描述
功能的逻辑
  1. 首先明白这个功能里面包含的2个主要操作:用户信息注册,用户激活账户信息

  2. 用户信息注册:即数据库插入记录,使用 insert 语句。与之前做的JavaWeb项目中增加学生功能一样:
    ①:接收表单传递过来的全部信息
    ②:将这些信息赋值给一个与注册表对应的 JavaBean 类
    ③:将这个 JavaBean 作为参数,向下传递,调用 Servlet 层
    ④:Servlet 调用 Service 层,再调用 Dao 层
    ⑤:在 Dao 层,最终执行一个 insert 语句,将 JavaBean 带来的参数插入到数据库中,然后一路返回
    ⑥:相对于之前做的学生注册功能,并无太大差别。
    ⑦:唯一区别:用户注册时候的表单信息不包含用户的 id,激活状态码,邮箱激活码。
    因此需要在 Servlet 层接受完前端传来的表单数据后,额外的对 JavaBean 类进行这些属性的赋值。
    ⑧:对于⑦的代码片段
    在这里插入图片描述

  3. 用户账户激活:即数据库查询操作,将邮箱中发送的激活码与数据库中已有的做对比,倘若存在一个用户信息,他的激活码与这个激活码相同,则将该用户的状态码设置为已激活,同时删除激活码中内容,防止重复激活。
    ①:简单来看,这是一个查询的数据库操作。
    ②:这个操作也需要遵循 Servlet — Service — Dao 的步骤
    ③:这里的 Servlet 调用是由邮箱中的超链接发起的
    ④:邮箱中的超链接信息携带了激活码信息,点击超链接之后,触发 Servlet ,然后携带这个传递过来的激活码的参数,进行②中的步骤,查询数据库中是否有匹配的用户信息。
    ⑤:若有匹配的用户信息,则证明这是一次合法的激活操作,那么,就在数据库中,将用户的状态码设为已激活,同时删除激活码以防止重复激活,最终跳转到激活成功的页面。倘若未找到匹配的信息,则跳转到激活失败的页面。

  4. 该功能的整体逻辑:
    用户点击提交按钮之后,发送数据到客户端,客户端根据form表单接收过来的数据,进行完善补充,然后在用户表中插入这条语句。同时,向用户填写的邮箱发送一封邮件。
    用户邮箱中点击邮件的激活链接,然后触发激活servlet,当这个servlet操作完成后,根据操作返回的情况,跳转到相对应的提示界面,至此,邮箱激活功能结束。

需要注意的一些细节
  1. 对于form表单,不再使用request.getParameter()方法单个获取数据,而是以request.getParameterMap()方法代替,整体获取数据。
    ——这里需要注意:使用 request.getParameterMap() 方法时候,form 表单中的 name 的值——必须和 Javabean(domain)中的值的名字完全对应,错一个字母都不行。
  2. form表单对于data类型的数据在提交的时候,request.getParameterMap()方法对于data数据的兼容问题 ,这里需要使用时间转换器,对 data 格式的数据进行处理。
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值