登录案例之添加验证码案例分析
在
HttpSession第二例中,我们完成一个案例Example22,该案例完成了登录功能。现在在Example22工程原有功能的基础上为其添加一个新的功能:验证码,即表示,用户在登录的时候不仅要输入用户名和密码,还要输入验证码;用户名、密码和验证码都正确的情况下才能登录成功。下面我们来分析如何实现以上功能。
首先,我们来了解该功能的流程,如图1-1所示:
图1-1 功能分析
由图1-1可知,当在浏览器端访问login.jsp页面,浏览器发送了两次请求,分别是:
- 第一个请求:请求的是login.jsp;
- 第二个请求:请求的是VerifyCodeServlet;
VerifyCodeServlet要完成以下三个任务:
- 生成验证码图片;
- 将验证码图片中的验证码保存在session域中;
- 将验证码图片写到响应流中,响应给客户端;
在页面中输入用户名,密码和验证码,然后点击“登录”。这时浏览器访问的是LoginServlet。
LoginServlet要做的工作如下所示:
- 获取请求参数:用户名、密码以及验证码;
- 从session域中获取正确的验证码,然后与用户输入的验证码进行对比,如果一致,继续比较用户名和密码是否正确,否则保存错误信息在request域中,然后转发到login.jsp页面。
本文版权归传智播客Java培训学院所有,欢迎转载,转载请注明作者出处。谢谢!
作者:传智播客Java培训学院
首发:http://www.itcast.cn/javaee