自从下定决心做这个小小的demo,自己遇到了很多的错误,有的解决了我,有的还没有解决。从中得到了结论:任何成功的事情都要付出努力。

这篇文章主要说明注册登陆的流程,分为以下几个部分:

一、用户注册

二、用户登陆

三、用户退出

一、用户注册

自从上了大学,到现在,不知道写了多少关于用户注册的逻辑代码,但是都没有这次的逻辑更加全面。

什么事情都不如一张流程图一目了然:

黑马微服务No instances available for userService问题 黑马官网_User

 

这张流程图大致说明了这个流程。首先用户注册提交用户信息到Servlet层,Servlet层对数据进行封装,并且调用Service层查询用户是否存在,Service层调用Dao查询用户,在Service查询的结果如果是正确,则返回false给Servlet层,反之发送邮件并返回true给Servlet层,若最终返回给Servlet层的结果是存在这个用户,将错误信息返回给前端,否则让用户激活用户。

用户需要登陆自己的邮箱来激活自己的状态,当用户点击邮箱中的链接时,跳转带到激活用户的Servlet,最终使用户属性的Status为Y。

在这个注册功能实现的过程中,自己遇到了一些问题:

第一个:session和验证码的问题

每一次在用户输入验证码时候,一定要及时删除session中的验证码,防止用户重复使用验证码。

第二个:页面跳转问题

在使用Ajax发送数据时,其中有一个要注意的地方,其实并不是Ajax的问题,而是自己关于前端的代码不熟导致Ajax的数据提交了两次,具体的错误代码如下:

黑马微服务No instances available for userService问题 黑马官网_验证码_02

第三个:浏览器适配问题

不同浏览器对JS代码的适应性不同,在使用IS使页面跳转时写法不同:

window.location.href = "";

第四个问题:发送邮件错误

这个问题实在可笑,我在自己邮箱字符串最后多写了一个空格,然后一直一直报错,我百度了一下午,一直看网上的教程,最终我看自己的邮箱字符串,发现多写了一个空格。这个错误实在不应该啊!!!当解决这个问题的时候,自己非常开心,那种成就感油然而生,这或许就是我前进的动力吧!

以上就是在注册功能的解释和自己遇到的一些错误。

二、用户登陆

在写这一篇博客的同时,我问了之前maven出错的问题,老师当时也不太知道,他大致猜测实我的settings文件出错了,让我重新找个setting文件,最后他直接发给我一个setting文件,这样,我就直接可以运行了,这个困扰我很久的问题终于解决了,这种快乐无法用言语表达,反正是非常的激动,这样我就可以做好的事情了。

——————————————————————————分割线————————————————————————

写完上面的文字,就没有时间写接下来的文章了,这几天明白了一个道理,发现自己的缺点,自己还是惰性太多了,每次都是自己找到一个让自己发力的点,然后自己去努力为了一个事情,而不是一直保持热情,每次都是反反复复。热情--没有热情--热情--没有热情。。。。重复重复。有感而发,写的一点点反思。

——————————————————————————分割线————————————————————————

那么接下来,接着说黑马旅游网的登陆逻辑,这个逻辑还是比较简单的,一张图来说明:

黑马微服务No instances available for userService问题 黑马官网_用户注册_03

登陆的逻辑大致是:用户在前端提交登陆数据,后端根据数据查询User对象,并在Servlet中判断User是否激活,如果没有激活,返回给前端“此用户没有激活”,如果没有查到这个和User,则返回“用户名或者密码错误”,如果正确,在Session中保存User对象,然后跳转到主页。还有一个功能,就是在主页显示登陆的当前用户,这个功能的实现就是主页中那个用户显示是一个Ajax请求,当页面展示完全时,就发送一个显示User 的请求,在Servlet中处理这个请求,然后返回上面session中User对象即可让前端显示登陆的用户名。

自己在做个小小的功能的时候比较顺利,没有遇到多少错误

关键点:在实现显示用户名的时候,需要用到Session功能,具体的Session和cookie原理看我的另一篇博客:点击查看

注册和登陆的流程图:

黑马微服务No instances available for userService问题 黑马官网_User_04

三、用户退出

这个功能是基于登陆功能的,只要理解登陆功能的原理,当用户点击退出的功能时候,会发送一个请求道ExitSevlet,这个servlet中会销毁session:

黑马微服务No instances available for userService问题 黑马官网_User_05

历时了整整10天的时间,自己这个登陆的功能写完了,这期间反思了很多,有时感到很迷茫,感觉到前方的道路好像实是在那吧,自己也变得不自信了,上周六去合肥参加了软考,考的是程序员,下年准备考软件设计师和信息系统项目管理师,先朝着这个方向努力吧!