2020-03-23

验证码案例


(一)案例需求描述


一、案例需求





二、案例功能分析


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

你可能感兴趣的:(2020-03-23)