博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
表单重复提交
阅读量:2112 次
发布时间:2019-04-29

本文共 568 字,大约阅读时间需要 1 分钟。

一、表单重复提交的三种常见的情况以及解决方法

情况1、提交完表单。服务器使用请求转发来进行页面跳转,这个时候,用户按下功能键F5,就会发起最后一次的请求,造成表单重复提交问题。

解决方法:使用重定向来进行跳转

情况2、用户正常提交服务器,到那时由于网络延迟等原因,迟迟未收到服务器的响应,用户以为提交失败,然后多点了几次提交操作,也会造成表单的重复提交。

情况3、用户正常提交服务器,服务器也没有延迟,但是提交完成后,用户回退浏览器,重新提交,也会造成表单重复提交。

解决方法:使用验证码

底层原理如下所示:

在这里插入图片描述

二、谷歌kaptcha图片验证码的使用

谷歌kaptcha图片验证码使用步骤如下:

步骤1、导入谷歌验证码的jar包

kaptcha-2.3.2.jar

步骤2、在web.xml中取配置用于验证码的Servlet程序

如下操作:

在这里插入图片描述

步骤3、在表单中使用img标签取显示验证码图片并使用它。

在这里插入图片描述

步骤4、在服务器获取谷歌生成的验证码和客户端发送过来的验证码比较使用。

KAPTCHA_SESSION_KEY存储着Session中的验证码

在这里插入图片描述

三、验证码的切换(绑定单击事件)

浏览器存在缓存,验证码点击刷新只会改变一次的情况

解决方法在请求时,后面追加不同的值,就可以避免

在这里插入图片描述

先给验证码加入id=“code_img”,以便绑定单击事件。

在这里插入图片描述

转载地址:http://qksef.baihongyu.com/

你可能感兴趣的文章
jvm调优-命令大全(jps jstat jmap jhat jstack jinfo)
查看>>
Spring boot Myibatis
查看>>
spring boot(七):springboot+mybatis多数据源最简解决方案
查看>>
Spring Boot 笔记
查看>>
maven下手动导入ojdbc6.jar
查看>>
SpringBoot、MyBatis配置多数据源XML方法
查看>>
SpringBoot配置属性之MQ
查看>>
SpringBoot集成mybatis
查看>>
Shell文本处理三剑客之grep
查看>>
linux查看进程启动时间
查看>>
Linux 基础命令
查看>>
35 个 Java 代码性能优化总结
查看>>
Linux Sed 命令
查看>>
StandardContext 错误
查看>>
如何添加网站favicon.ico图标
查看>>
cvs no such repository 问题
查看>>
MySQL中REGEXP正则表达式
查看>>
服务端UDP双向通信学习资料
查看>>
Mina TCP 编码解码相关资料收集
查看>>
Maven 打包 上传 运行
查看>>