展示验证码(jsp页面)

首先,我们需要自己利用BufferedImage类去生成一张可以变换的验证码图片;

之后,我们就可以利用这样一串代码去将验证码里面的内容获取到:

这是一串测试代码:

OutputStream os=new FileOutputStream("e://a.jpg");//为存放验证码图片的地址
String CheckCode=checkCode.outputVerifyImage(100,50,os,4);//固定验证码图片的大小,以及确定出每次图片里面出现的字符个数
System.out.println(CheckCode);//输出测试一下上述条件是否成立

验证码图片在jsp的注册界面这样放置:

如果这样写的话,就会把验证码写死,不能够实现灵活变换,所以需要进行优化

优化之后:

将生成的验证码图片放在该servlet里面,实现刷新即变换图片------更加灵活一些

在成功写完一个验证码图片的程序(checkCode.java)之后,需要在checkServlet里面调用,将以下代码写在doGet方法里面:

ServletOutputStream os=resp.getOutputStream();
String checkCode=checkCode.outputVerifyCode(100,50,os,4);

这样就实现了点击刷新就能够更换验证码的目的了

接下来,就需要去实现点击右边的看不清就能够实现验证码图片的更换:

在分别为图片看不清添加id的同时,再利用js实现随机更换,且不会出现同一个随机数而导致的缓存(这会导致图片无法继续更换)

<script>
document.getElementById("changImg").onclick=function(){
document.getElementById("checkCodeImg").src="/ttCookieLogin/checkServlet?"+new Date().getMilliseconds();
}
</script>

若是要为图片本身增加单击事件的话,大概代码是这样的:

<script>
document.getElementById("checkCodeImg").onclick=function(){
document.getElementById("checkCodeImg").src="/ttCookieLogin/checkServlet?"+new Date().getMilliseconds();
}
</script>

校验验证码(一存一取一比对)

将从jsp页面获取到的验证码存入session中(在checkServlet.java里面写入)

HttpSession session=req.getSession();
req.setAttribute("checkCode",checkCode);

然后在注册页面的后端得到session存储的验证码数据:

然后获得文本框里面的数据:

之后在注册成功之前进行比对:

这样就OK啦!

验证码案例的实现---MyBatis+Session+Cookie的更多相关文章

  1. 超全面的JavaWeb笔记day11<JSP&Session&Cookie&HttpSession>

    1.JSP 2.回话跟踪技术 3.Cookie 4.HttpSession JSP入门 1 JSP概述 1.1 什么是JSP JSP(Java Server Pages)是JavaWeb服务器端的动态 ...

  2. 认证 协议 JWT OAuth Session Cookie

    本文翻译自Auth-Boss. 如果有翻译的不恰当或不对的地方, 欢迎指出. 成为一个认证老司机, 了解网络上不同的身份认证方法. 本文档的目的是记录和编目Web上的身份验证方法.认证指的是创建一个系 ...

  3. JSP + Session Cookie详解

    篇幅较大,对JSP进行了非常详细的讲解,并解释了Session和Cookie的实现原理 ,预计看完需要20分钟左右,慢慢享受吧 JSP概述 掌握了servlet后,就可以利用servlet来开发动态页 ...

  4. session & cookie(li)

    Session & Cookie 一.定义 Session,用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间.Cookie,由服务器端生成,发送 ...

  5. web也是区分前端与后端的,session\cookie辨析

    <1>Ajax交互方式 Ext.Ajax.request( { //被用来向服务器发起请求默认的url url : "", //请求时发送后台的参数,既可以是Json对 ...

  6. 浅析session&cookie

    session&cookie没有出现的黑暗时代 大家都知道,HTTP协议是一种无状态的协议,本次请求下一次请求没有任何的关联,所有没有办法直接用http协议来记住用户的信息,试想一向,每一次点 ...

  7. http之Session&Cookie

    百度了一波session与Cookie,我发现这东西远比我想象中更复杂(可能是因为我不明白底层的运行原理).网上也是一堆的关于Session与Cookie区别/联系的文章,然而,我看完了还是一脸懵逼的 ...

  8. Asp.net MVC使用Model Binding解除Session, Cookie等依赖

    上篇文章"Asp.net MVC使用Filter解除Session, Cookie等依赖"介绍了如何使用Filter来解除对于Session, Cookie的依赖.其实这个也可以通 ...

  9. Asp.net MVC使用Filter解除Session, Cookie等依赖

    本文,介绍了Filter在MVC请求的生命周期中的作用和角色,以及Filter的一些常用应用场景. 同时针对MVC中的对于Session,Cookie等的依赖,如何使用Filter解依赖. 如果大家有 ...

  10. [转]Asp.net MVC使用Filter解除Session, Cookie等依赖

    本文转自:http://www.cnblogs.com/JustRun1983/p/3279139.html 本文,介绍了Filter在MVC请求的生命周期中的作用和角色,以及Filter的一些常用应 ...

随机推荐

  1. sql-SQL Prompt

    本人用的是win10系统,这里也着重介绍win10系统的激活方式 激活方式: 1.首先系统HOSTS文件添加以下屏蔽网络 127.0.0.1 red-gate.com 127.0.0.1 www.re ...

  2. java GUI AWT包

    第一个GUI程序,在netbeans里因为没有自动导包,害的我差点崩溃,因为没有导入AWT包,所以 public class Jfram { /** * @param args the command ...

  3. 手把手教你用Burpsuite+夜神模拟器抓安卓(Android 7)http+https包

    (1)进入正题,bp证书下载(下载证书至电脑):打开bp,配置好代理,浏览器访问http://127.0.0.1:8080 下载证书,记住保存路径,注意别修改证书后缀(der)!!! (2)准备一个L ...

  4. 转—记录一下获取NC程序名称的方法

    案例源代码如下: #include <uf_obj.h> #include <uf_setup.h> #include <uf_ncgroup.h> static ...

  5. labwindows excel 不同电脑上无法保存

    存到c盘以外的盘,c盘因为权限问题可能无法写入

  6. 解决vuex“状态管理调用报错”报错为:"Uncaught ReferenceError: mapactions is not defined"

    报错: 源码: <script> import Vuex from 'vuex'; import {mapActions,mapGetters} from 'vuex'; // conso ...

  7. 利用expect交互批量修改普通用户过期密码

    利用expect交互批量修改普通用户过期密码 因为公司接了一个密码托管的活,有10000多台机器,系统有 openSUSE,SUSE,Ubuntu,centos,Oracle-Linux, 而且什么版 ...

  8. 4组-Beta冲刺-2/5

    一.基本情况 队名:摸鲨鱼小队 组长博客:https://www.cnblogs.com/smallgrape/p/15595704.html github链接:https://github.com/ ...

  9. 狐漠漠养成日记 Cp.00002 第一周

    主要目标 (1)考研 考研数学二16-22年的真题卷(已完成真题卷:0/7) 记忆考研英语中高频词汇(已记忆词汇:高频:0/10:中频:0/10) 考研英语二16-22年的真题卷(已完成真题卷:0/7 ...

  10. 在Jupyter Notebook 中输出 HTML

    在刚开始使用 Jupyter Notebook 时,我总想使输出结果更使人满意,而不是只把结果打印出来.在我知道可以用 HTML 输出之前,我是这样输出一个表格的(数据来源:软科中国大学排名). 中国 ...