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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

分别将用户注册,用户登录的业务逻辑用自己的话描述出来
1.用户注册:
在入口函数内给表单绑定提交事件,如果输入框的所有校验都通过的话,使用post方法将表单提交,在registerUserServlet中,获取前端页面提交的数据,调用service层中的regist方法进行注册,在regist方法中再次调用dao层中的findUserByUsername对数据库中的数据进行查找并返回一个user对象,如果user存在,则说明注册失败,返回false,如果不存在,则再次调用dao层的save方法,对表单传入的数据添加进数据库中,并返回true,通过service层接收到dao层返回的结果,向前端进行数据响应,给出相应的信息。
2.用户登录
在入口函数内给登录按钮添加click事件,事件中使用post方法向loginServlet提交请求,loginServlet中对前端的数据进行获取与封装,调用service层中的login方法进行登录,在login方法中,首先调用dao层中的findUserByUsernameAndPassword方法(通过用户名以及密码在数据库中查找),返回一个user对象,对返回的user对象进行判断,如果user不为空,说明用户存在。表示登录成功,如果user为空,则说明用户登录失败,向前端页面提示相应的信息。
回复 使用道具 举报
分别将用户注册,用户登录的业务逻辑用自己的话描述出来
用户注册:  1.Web层:①前端,进行表单校验,设置正则表达式,并异步提交表单
                ②servlet,先进行验证码的校验,对从session中获取的数据进行判断,并序列化为json返回给客户端。然后从前端获取数据,封装对象,调用service进行判断,将判断序列化为json ,写回客户端。
        2.Service层:根据用户名查询用户对象,并判断,然后保存用户信息
        3.Dao层:定义、执行sql语句,返回结果

用户登录: 1.Web层:在login.html中,给登录按钮绑定单击事件,发送ajax请求,提交表单数据。在servlet中,获取前端的用户名和密码,封装对象,调用service查询,对用户对象判断,并对结果序列化返回,响应数据
        2.Service层:返回数据库查询的结果
        3.Dao层,定义、执行sql查询语句,返回结果
回复 使用道具 举报
分别将用户注册,用户登录的业务逻辑用自己的话描述出来
用户注册业务逻辑:
①给前端表单绑定提交事件,给所有输入框绑定失焦事件,检验所有输入框的数据是否符合要求,如果都符合,则是由ajax的get方法将表单提交。
②在后台Servlet层中先判断验证码是否正确,如果不正确直接在页面给出提示验证码错误,反之验证码正确则获取表单数据,并将表单数据封装成一个user对象。
③调用service层中的方法,将Servlet层中封装的user对象作为参数传入。
④在service层中调用dao层中的方法,根据传下来的user对象进行数据库查询。然后根据dao层返回的数据进行判断,如果返回的数据为空,则说明数据库没有这个用户,返回true,如果不为空,返回false。
⑤Servlet层根据service层返回的值进行判断,将结果存入ResultInfo对象中,将ResultInfo序列为json串,返回给页面,如果为true,页面跳转到注册成功页面,失败则提醒用户注册失败。
用户登录业务逻辑:
①给前端登录按钮绑定单击事件,使用ajxa的get方法将数据传入后台。
②在servlet层中先判断验证码是否正确,如果不正确直接在页面给出提示验证码错误,如果正确将数据封装为user对象。
③调用servce层中的方法,将servlet层中封装的对象传入。
④在service层中调用dao层中的方法,根据传下来的user对象的用户名和密码进行数据库查询,返回一个新的user对象。
⑤在servle层中对service层返回的对象进行判断,如果为空,则说明数据不存在,向页面返回一个账号或者密码错误,如果不为空,说明用户登录成功,页面跳转到首页。
回复 使用道具 举报
陈开明:
                          用户注册:
前端页面:
○1写入口函数,通过checkUsername() && checkPassword() && checkEmail()等函数,判断用户输入的信息格式等是否准确。
○2利用异步请求技术ajax,将注册信息发送给后台服务器。
○3注册成功,则跳转到登陆页面;注册失败,则返回失败信息。
后端处理:
○1servlet层:
1.        获取用户输入的验证码信息,与后端服务器的信息比较,验证码不准确则返回错误提示给前端页面。
2.        验证码正确,将用户前端输入的信息,使用BeanUtils封装成user对象。
3.        创建UserServiceImpl对象,调用register方法,返回boolean值。
4.        通过返回的boolean值,回写信息给前端页面,提示是否注册成功。
5.        返回的信息,封装为ResultInfo对象,将ResultInfo对象序列化为json对象,方便前端页面解析。
○2service层:
1.        创建UserDaoImpl对象,重写register方法。
2.        Register方法,里面调用UserDaoImpl的findUserByUserName方法,返回一个User对象;里面调用UserDaoImpl的registerUser方法,添加一个User对象。
3.        如果User对象不为空,则代表此用户名被注册过,返回false,否则返回true,并将新用户信息添加到数据库。
○3dao层:
1.        定义两个方法,一个是findUserByUserName方法,通过username来查找这个用户名是否被注册过,若有,返回一个user对象,否则返回null。
2.        一个是registerUser方法,将新增的用户信息添加到数据库。

                        用户登录:
前端页面:
○1写入口函数,在登录按钮上面绑定单击事件。
○2利用异步请求技术ajax,将表单数据serialize()后,发送给后台服务器。
○3登录成功,则跳转到首页页面;登录失败,则返回失败信息。
后端处理:
○1servlet层:
1.        获取用户输入的验证码信息,与后端服务器的信息比较,验证码不准确则返回错误提示给前端页面。
2.        验证码正确,将用户前端输入的信息,使用BeanUtils封装成user对象。
3.        创建UserServiceImpl对象,调用login方法,返回loginUser对象。
4.        通过返回的loginUser值,回写信息给前端页面,提示是否登录成功。
5.        返回的信息,封装为ResultInfo对象,将ResultInfo对象序列化为json对象,方便前端页面解析。
○2service层:
1.        创建UserDaoImpl对象,重写login方法。
2.        login方法,里面调用UserDaoImpl的findUserByUserNameAndPassword
方法,返回一个User对象
○3dao层:
1.定义findUserByUserNameAndPassword方法,通过username和password来查找这个用户,若有,返回一个user对象,否则返回null。






回复 使用道具 举报
用户注册:
用户提交表单信息时,访问registServlet。
获取数据,调用service的方法查询数据库。
在Dao中,通过username进行查找。
如果有重名的用户,返回user对象,非null,注册失败。
如果查询后返回null,那么说明没有注册过该用户名,返回注册成功。
跳转到成功页面。
用户登录:点击登陆按钮后,后端先获取前端传递过来的验证码,如果为空或者和图片验证码不同,则直接登陆失败,设置错误信息。验证码成功后获取前端传递过来的username和password调用登陆方法去数据库查找,如果能查到数据,说明登录成功,直接返回true,如果查不到数据,说明登录失败,返回flase并设置错误信息,在序列化为json到前端。如果是true,直接跳转到首页,如果是false则提示错误信息。
回复 使用道具 举报

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

用户注册:
用户提交表单信息时,访问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中,分为两种情况,激活成功,跳转页面,到登录页面。激活不成功,友情提示!
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 加入黑马