验证码案例
(一)案例需求描述
一、案例需求
二、案例功能分析
1、登录失败
用户名或密码错误
验证码错误
回到登录页面
2、登录成功
如果勾选了记住用户名复选框
利用Cookie记住登录成功的用户的用户名
需要将用户信息保存到Session中
进行页面跳转,跳到成功页面
(二)案例准备
一、创建Web项目
二、引入Jar包
三、创建包结构
四、引入工具类和配置文件
五、引入相关的类并修改
Servlet2还需要修改配置文件web.xml
Servlet3以注解形式注册的,不需要写web.xml
六、创建登录页面
页面代码
(三)案例代码-用户登录的功能
一、用户登录流程
用户输入用户名或密码进行登录
如果用户名或密码错误,保存错误信息,回到登录页面
如果用户名和密码正确,将用户的信息保存到会话中,跳转到成功页面
二、用户登录代码实现
在登录页面回显错误信息
用户登录代码实现
编写success.jsp
(四)案例代码-一次性验证码
一、一次性验证码的分析
1、一次性验证码的作用
防止恶意灌水,而且一次性验证码只能够使用一次,不管成功或者失败,验证码都将失效
2、一次性验证码的校验
一次性验证码生成:随机生成4个字母或数字,由Response生成一张图片响应到页面
二、一次性验证码的实现
1、生成验证码图片
复制Servlet到指定的包下
Servlet2需要修改web.xml完成该Servlet的配置
在页面中引入Servlet
2、将随机生成的字母或数字保存到Session中
3、校验一次性验证码
三、一次性验证码的点击按钮切换图片
1、点击按钮切换图片
2、代码实现
提供超链接
编写JS的函数
四、记住用户名的实现
1、需求概述
如果在登录的过程中,将记住用户名的复选框勾选了,而且必须在登录成功的情况下,就需要记住用户名,在关闭浏览器、下次访问该网站的登录页面时,会在用户名的文本框中自动呈现出用户名
2、代码实现
记住用户名的后台代码
在页面的文本框中回显用户名
五、系统退出
1、提供一个退出的链接
2、编写LogoutServlet