A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

分别将用户注册,用户激活,的业务逻辑用自己的话描述出来

6 个回复

倒序浏览

分别将用户注册,用户激活,的业务逻辑用自己的话描述出来

1.用户注册
  这次我们主要是在html上进行数据的提交,因此使用ajax方式,在servlet层接收数据并封装到user对象中,然后调用service和dao中的方法,根据提交的user对象的username去查询是否存在相同的用户名,不存在的时候就进行数据的存储并返回true,当存在的时候反馈信息给serlvet并存储信息到信息对象中并返回false,根据不同的返回Boolean值进行不一样的操作,true:转发页面到恭喜注册成功,false:在页面显示注册失败。

2.用户激活
  判断用户的激活主要通过数据库中的激活状态Status来判断,而激活用户的时候我们用来判断是哪个用户名激活账号是通过激活邮件携带的uuid来锁定用户名的,所以在把将用户信息保存到数据库的时候需要创建唯一的uuid,并把用户的status状态都修改为N,然后在发送邮件给用户的邮箱,当用户进行点击邮件上的超链接的时候会跳转到servlet中,调用service和dao层中的方法修改数据库中对应用户的status值为Y,最后返回登入界面(这里可以延申思考的是在登入界面的时候需要对激活状态进行判断)
回复 使用道具 举报
分别将用户注册、用户激活的业务逻辑用自己的话描述出来
用户注册:
       在注册页面使用js完成表单的校验,校验成功后点击注册按钮,使用ajax完成表单的提交。
        跳转到registUserServlet,在此,先获取用户数据并封装成User对象,之后调用service的方法进行注册。根据service层的返回信息向前端页面设置响应信息。
service层定义registUser(User user)方法,方法内调用dao层的根据用户名查找用户的方法,若用户存在则直接返回false,否则设置用户的codestatus属性,然后调用dao保存用户信息。
用户激活:
        用户点击超链接,跳转到ActiveUserServlet,在此先获取激活码,如果不为空则调用service层的方法进行激活验证。若激活成功则跳转到登录页面,否则通知用户激活失败。
        在service层定义active(String code)方法,方法体内调用dao层的findByCode(code)方法,根据激活码查找用户,若用户存在则返回false,否则调用dao层的updateStatus(user)方法,将该用户的status属性值设置为“Y”,表示已激活。

回复 使用道具 举报
分别将用户注册,用户激活,的业务逻辑用自己的话描述出来
用户注册:
首先为注册页面的每个数据输入框绑定离焦事件,通过正则表达式进行校验输入的数据,如果数据格式错误,当输入框失去焦点后,输入框变红报错提醒,同时,绑定提交事件,只有所有的正则表达式都校验通过以后,表单才可以提交,否则无法提交.表单数据通过异步的方式进行提交到registerUserServlet中,在Servlet中获取数据,封装成User对象,调用Service中的方法,首先调用UserDao中的方法查询用户名是否存在,如果存在,返回false,不存在再调用UserDao中的方法将User保存进数据库中,返回true,前端页面根据返回的布尔值进行判断处理,如果为true跳转到注册成功页面,如果为false,提示注册失败.
用户激活:
在用户注册成功的Service中,设置激活状态为N,表示未激活,同时生成唯一的激活码,发送邮件给注册的邮箱,邮件内容为一个Servlet的连接,将激活码发送给Servlet,通过获取激活码到数据库中查询是否存在User,如果有提示错误信息,如果没有,调用Dao中的方法将激活状态设置为Y,表示已激活,并且跳转到登录界面;
回复 使用道具 举报
分别将用户注册,用户激活,的业务逻辑用自己的话描述出来
答:

用户注册:
用户提交表单信息时,访问registServlet。
获取数据,调用service的方法查询数据库。
在Dao中,通过username进行查找。
如果有重名的用户,返回user对象,非null,注册失败。
如果查询后返回null,那么说明没有注册过该用户名,返回注册成功。
跳转到成功页面。

用户激活:
通过两个值来实现: status  code
在上面注册案例中,升级功能。
在Dao层返回查询结果为null时,
设置code激活码,通过UuidUtil.getUuid(),
设置status激活状态为“N”
并且通过 MailUtils.sendMail(user.getEmail(),content,"测试邮件");发送邮件给用户激活。
在content 中设置activeUserServlet?coad=user.getUid(),让用户访问activeUserServlet资源。并且携带code
在activeUserServlet中获取code,然后在数据库查,是否有该用户。
如果有该用户,service返回ture。
然后返回servlet中,分为两种情况,激活成功,跳转页面,到登录页面。激活不成功,友情提示!





回复 使用道具 举报

分别将用户注册、用户激活的业务逻辑用自己的话描述出来

用户注册:
       在注册页面使用js完成表单的校验,校验成功后点击注册按钮,使用ajax完成表单的提交。
        跳转到registUserServlet,获取数据,调用service的方法查询数据库,然后调用service的方法进行注册。根据service层的返回信息向前端页面设置响应信息。
在service层定义registUser(User user)方法,方法内调用dao层的根据用户名查找用户的方法,若用户存在则直接返回false,否则设置用户的code和status属性,然后调用dao保存用户信息。
用户激活:
        用户点击超链接,跳转到ActiveUserServlet,在此先获取激活码,如果不为空则调用service层的方法进行激活验证。若激活成功则跳转到登录页面,否则通知用户激活失败。
        在service层定义active(String code)方法,方法体内调用dao层的findByCode(code)方法,根据激活码查找用户,若用户存在则返回false,否则调用dao层的updateStatus(user)方法,将该用户的status属性值设置为“Y”,表示已激活。
回复 使用道具 举报
用户注册
因为在html上进行交互数据,所以选择了ajax方式,从servlet层接收数据将其封装User对象,调用service和dao中的方法,
提交过来的User对象的username查询是否存在,如果存在表示用户名重复,注册失败,不存在表示用户名可以使用注册成功;
在根据返回的布尔值来判断是否需要调整页面,true跳转到注册成功页面.false不跳转,给用户发出提示,用户名或密码或验证码错误
用户激活
激活根据pageBean类中的Status和code 属性来判断,在用户注册成功时候,我们将用户信息添加到数据库时,给status状态跳转为N,给code赋值上一个不会重复的字符串当做激活码,在给用户发送一封激活码邮件,当我们给用户发送的激活码和数据库中的激活码相同时候,表示激活成功,成功的同时将status状态设置为Y,如果不同,激活失败,让用户联系管理员.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马