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

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

一、用户注册

二、用户登陆

三、用户退出

一、用户注册

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

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

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

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

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

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

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

第二个:页面跳转问题

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

第三个:浏览器适配问题

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

window.location.href = "http://www.cnblogs.com/code-ten/";

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

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

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

二、用户登陆

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

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

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

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

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

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

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

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

注册和登陆的流程图:

三、用户退出

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

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

黑马旅游网完整代码_黑马旅游网(二)注册登陆相关推荐

  1. 黑马旅游网完整代码_JavaWeb+黑马旅游网

    JavaWeb+黑马旅游网 |____资料 |____16.黑马旅游网 |____15.Maven基础 |____14.Redis |____13.Ajax和JSON |____12.Jquery | ...

  2. 黑马旅游网完整代码_JavaWeb黑马旅游网 视频 下载

    课程目录: JavaWeb+黑马旅游网 |____资料 |____16.黑马旅游网 |____15.Maven基础 |____14.Redis |____13.Ajax和JSON |____12.Jq ...

  3. 网盘搜索_就用网盘传奇-最有效的百度网盘搜索引擎

    网盘搜索_就用网盘传奇-最有效的百度网盘搜索引擎 https://jidanso.com/

  4. 旅游流的概念_国内旅游流综述

    国内旅游流研究综述 摘要 旅游流是旅游地理学研究的主要内容之一,通过整理国内 旅游流的相关论文检索与发表情况可知,国内旅游流的研究主要是 旅游流概念.影响因素.旅游流空间集散等方面,关于小尺度范围 的 ...

  5. php百度登录完整代码_百度熊掌号专业问答PHP方式推送完整代码(附说明)

    对于百度熊掌号专业问答的URL推送,百度提供了多种URL推送方式,之前详细写过怎样通过CURL命令方式推送,但是后来百度修改了api地址,URL中出现了汉字,CURL方式推送就会报错,下面php中文网 ...

  6. 黑马旅游网完整代码_GitHub - mr-yhl/tianjin_travel: 黑马旅游网项目练习

    黑马旅游网(web阶段综合练习) 第一天 页面搭建及注册功能 1 项目搭建 1.1 项目介绍 为了巩固web基础知识,提升综合运用能力,故而讲解此案例.要求,每位同学能够独立完成此案例. 1.2 技术 ...

  7. js读取外部json指定字段值完整代码_前端工程化 剖析npm的包管理机制(完整版)...

    导读 现如今,前端开发的同学已经离不开 npm 这个包管理工具,其优秀的包版本管理机制承载了整个繁荣发展的NodeJS社区,理解其内部机制非常有利于加深我们对模块开发的理解.各项前端工程化的配置以加快 ...

  8. php mysql登陆页面完整代码_求助:PHP实现登陆注册的代码是什么啊(主要是数据库那块)?...

    思路: 注册: 获取前台表单数据->数据库连接->判断数据是否存在,存在输出提示,不存在则向数据库插入表单传来的值->如果sql执行失败输出错误,成功功输出注册成功 登陆: 获取前台 ...

  9. python删除数据库的数据完整代码_利用python操作小程序云数据库实现简单的增删改查...

    不止python,你可以利用任何语言那实现通过http请求来操作你自己的小程序云数据库了 背景 也是在最近吧,小程序更新了云开发 HTTP API 文档,提供了小程序外访问云开发资源的能力,使用 HT ...

  10. javaweb 图书管理系统完整代码_看一名Java开发人员以红队思维五分钟审计一套代码(续)...

    前言 上篇文章的发布引起了很多读者的浏览,有很多读者也催更希望读到续集,作者也收获到读者的鼓励,说明这条路线对大家有帮助,是有意义的.所以,今天作者将继续阐述在审计Java代码时的思路. 概述 上篇文 ...

最新文章

  1. 仓库管理员怎样做台账_工作日志之仓库管理员与会计之间的对接工作
  2. mysql数据库应用与开发姜桂洪 课后答案_一站式打卡“云原生”时代的高效开发...
  3. scrapy在命令行指定要采集的url
  4. C++手动实现库函数
  5. kill -0 pid是做什么用的?
  6. 适配器和绑定 没找到_亚马逊如何收款?附亚马逊收款绑定流程
  7. 利用Bing翻译API简单的实现一个翻译工具
  8. Python笔记——break的注意事项
  9. HTML 5 学习笔记之 canvas 标签
  10. SSH 免密码/免用户名/免IP登录云服务器实践
  11. 微信支付-----扫码支付,统一下单
  12. 2016年趋势科技夏令营面试题目
  13. python画猫和老鼠代码_Python实现猫捉老鼠小游戏!虽然简陋但是童真永在!
  14. 解决background中图片太大只显示一部分
  15. 基于ChatGPT制作的一款英语口语练习应用SpokenAi
  16. 「自控元件及线路」6 无刷直流电动机
  17. LC tank 在RF放大器中的作用
  18. 迄今为止最全的前端监控体系搭建篇(长文预警)
  19. 嵌入式软件工程师面试需要的linux知识点
  20. lesson-3 photoshop之套索工具,渐变、移动

热门文章

  1. QQ去除未读状态的动画
  2. flume的各个组件及整体工作流程
  3. php论坛学习的一个遍历的问题(学习)
  4. 解决 ThinkPad x270 安装 ubuntu 14.04 后的网络问题
  5. JavaScript Array(数组)对象
  6. 条件控制语句 以及 循环语句
  7. Linux使用笔记: 使用Samba访问windows的共享目录(转载)
  8. 正则表达式-入门资料
  9. ADO 中 adLockPessimistic(悲观锁定)下面的陷阱
  10. 拓端tecdat|R语言中编写最小工作示例(MWRE)