全国咨询热线:400-618-4000

JAVA培训之HttpSession案例分析

创建时间:2016年08月17日17时15分

经过HttpSession第一例的练习,大家对session的用法有了一定的了解,下面我们来学习保存用户登录信息案例,该案例不仅使用了session对象,还使用了Cookie对象。将登录用户的信息保存在session中,将用户名保存在Cookie中实现记住用户名功能。下面我们就来详细介绍该案例:
(1)首先介绍该案例需要的页面和Servlet类,如下所示:
  • login.jsp:登录页面;
  • succ1.jsp:登录成功后访问的页面,没有登录不能访问;
  • succ2.jsp:登录成功后访问的页面,没有登录不能访问;
  • LoginServlet :校验用户是否登录成功。
(2)针对以上资源进行分析,具体如下:
  • login.jsp:提供登录表单,表单中的字段有用户名和密码,表单提交的请求是LoginServlet;
  • LoginServlet:获取请求参数,校验用户是否登录成功:
  • 登录成功:保存用户信息到session域中,然后重定向到succ1.jsp页面,在succ1.jsp页面中显示当前登录的用户信息;
  • 登录失败:将错误信息保存在request域中,然后请求转发到login.jsp页面,并在login.jsp页面显示错误信息;
  • succ1.jsp:从session域中获取用户信息,如果不存在,保存错误信息到request域中,然后转发到login.jsp页面,在login.jsp页面显示错误信息“您还没有登录!请先登录!“;
  • succ2.jsp:从session域中获取用户信息,如果不存在,保存错误信息到request域中,然后转发到login.jsp页面,在login.jsp页面显示错误信息“您还没有登录!请先登录!“。

通过以上分析可知,succ1.jsp和succ2.jsp的功能是一样的,都是成功页面,但是该成功页面在用户没有登录的情况下不能够访问。
下面通过一张图来了解保存用户登录信息案例的工作流程,如图1-1所示:

图1-1 案例序列图
图1-1中,如果用户是登录之后再访问succ1.jsp和succ2.jsp就可以看到用户信息,如果没有登录就访问succ1.jsp和succ2.jsp,那么就转发到login.jsp页面先进行登录。

本文版权归传智播客Java培训学院所有,欢迎转载,转载请注明作者出处。谢谢!
作者:传智播客Java培训学院
首发:http://www.itcast.cn/javaee