功能出现场景
  1. 接上一篇博客,当用户注册结束,进行登陆
  2. 此时需要判定:①用户是否激活 ②若用户已激活,是否账号密码正确。只有两个条件都满足才能进入登陆之后的界面。
  3. 登陆之后界面与未登录界面区别在于可视链接增加,如:我的购物车,退出登陆,我的订单等只有登陆之后才能看到。
  4. 当用户点击退出账户时候,用户返回未登陆时候的主页。
用户登陆
  1. 首先是用户登陆可能出现的情况
  1. 登陆失败
    1.1 账号或密码错误
    1.2 用户未激活
  2. 登陆成功
  1. 由于用户点击登陆按钮之后,可能出现的情况较多,因此需要考虑如何返回不同的响应结果来代表不同的情况
    2.1 使用一个变量,例:0 — 账号或密码错误 | 1 — 用户未激活 | 2 — 成功
    2.2 通过自定义方式抛出异常提示,然后捕获异常提示,同时作为前端页面的提示信息
  2. Servlet中关于登陆界面的方法代码(Servlet名不唯一,方法名亦不唯一,但是方法中的一些代码的处理可能需要统一)
  3. java 用户退出功能 java实现登录退出_java 用户退出功能

  4. 这里,处理用户登陆时候可能出现的各种情况的方式选择了自定义抛出异常的方式,自定义的抛出异常语句代码块(这里选择在 service 层进行业务逻辑的处理,dao层仅处理dao,不做其他)
  5. java 用户退出功能 java实现登录退出_抛出异常_02

  6. 最后是登陆模块的Dao层中实际操作的代码模块
  7. java 用户退出功能 java实现登录退出_抛出异常_03

  8. 同时,在Index.jsp页面内,会通过 EL 语句,对用户登陆后的状态进行判定,如果已登陆,则会看到已经登陆后可以看到的界面,否则,则是未登录时候可以看到的界面。
  9. java 用户退出功能 java实现登录退出_抛出异常_04

  10. 最后,整理思路:
    7.1 用户点击登陆按钮
    7.2 后台根据输入的账号密码,向数据库中查询是否存在相匹配的用户名和密码,是否激活
    7.3 若失败,则提示失败原因:用户名或密码错误? | 用户未激活?,并返回登陆界面
    7.4 若成功,则跳转到登陆成功后的主界面
    7.5 注意,index.jsp 页面,会根据当前是否有用户登陆而显示不同的可以点击的功能。
用户退出
  1. 用户登陆,并且点击退出账户之后,页面会跳转回主界面(再次提示:主界面需要用EL 通过检查session中是否有信息,来判定当前是否有用户登陆,并且给出不同的可点击的模块,例如我的订单是用户登陆后才可以查看的。)
  2. 那么,用户点击退出,也就是执行了清除 session 的操作,从而达到了退出的效果
  3. 这里未涉及到 dao 的操作,只需要 servlet 中写一个方法来实现清除 session 的功能即可
  4. 将主页面中,删除按钮的链接指向这个方法即可触发,从而达到用户退出的效果