验证码定时自动刷新

验证码(点击自动刷新) 验证码,点击自动刷新,而且具有输入跳转功能 立即下载
文件如下: 其中image.jsp用来产生验证码,请参考下面代码。

一、code.jsp
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    " http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns=" http://www.w3.org/1999/xhtml" xml:lang="gb2312" >
<head>
    <meta http-equiv="content-type" content="text/html; charset=gb2312" />
    <meta name="robots" content="all" />
    <title>Dolphin Document</title>

</head>
<body>
<img id="acimg" src="image.jsp" />
<script language="javascript" type="text/javascript">
setInterval('document.getElementById("acimg").src=document.getElementById("acimg").src',1000);
</script>
</body>
</html>

二、image.jsp

<%@ page contentType="image/jpeg" import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*" %>
<%!
Color getRandColor(int fc,int bc){//给定范围获得随机颜色
        Random random = new Random();
        if(fc>255) fc=255;
        if(bc>255) bc=255;
        int r=fc+random.nextInt(bc-fc);
        int g=fc+random.nextInt(bc-fc);
        int b=fc+random.nextInt(bc-fc);
        return new Color(r,g,b);
        }
%>
<%
//设置页面不缓存
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);

// 在内存中创建图象
int width=60, height=20;
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);

// 获取图形上下文
Graphics g = image.getGraphics();

//生成随机类
Random random = new Random();

// 设定背景色
g.setColor(getRandColor(200,250));
g.fillRect(0, 0, width, height);

//设定字体
g.setFont(new Font("Times New Roman",Font.PLAIN,18));

//画边框
//g.setColor(new Color());
//g.drawRect(0,0,width-1,height-1);


// 随机产生155条干扰线,使图象中的认证码不易被其它程序探测到
g.setColor(getRandColor(160,200));
for (int i=0;i<155;i++)
{
 int x = random.nextInt(width);
 int y = random.nextInt(height);
        int xl = random.nextInt(12);
        int yl = random.nextInt(12);
 g.drawLine(x,y,x+xl,y+yl);
}

// 取随机产生的认证码(4位数字)
//String rand = request.getParameter("rand");
//rand = rand.substring(0,rand.indexOf("."));
String sRand="";
for (int i=0;i<4;i++){
    String rand=String.valueOf(random.nextInt(10));
    sRand+=rand;
    // 将认证码显示到图象中
    g.setColor(new Color(20+random.nextInt(110),20+random.nextInt(110),20+random.nextInt(110)));//调用函数出来的颜色相同,可能是因为种子太接近,所以只能直接生成
    g.drawString(rand,13*i+6,16);
}

// 将认证码存入SESSION
session.setAttribute("rand",sRand);


// 图象生效
g.dispose();

// 输出图象到页面
ImageIO.write(image, "JPEG", response.getOutputStream());

%>

 
JSP验证码+自动刷新功能(推荐) JSP验证码+自动刷新功能,文件的image.jsp是负责生成验证码的,而display.jsp是负责显示效果.简单易用,平时会出现的异常都已经全部解决. 立即下载

相关推荐

shiro+SpringMVC+Spring+mybatis+maven+mybatis 自动刷新+ Quartz scheduler 定时器

shiro+SpringMVC+Spring+mybatis+maven+mybatis 自动刷新+ Quartz scheduler 定时器管理

校验验证码是否过期(定时刷新验证码)

我们在登录的时候会遇到通过接口请求验证码的操作,这里的验证码会有过期的时间,当我们验证码过期了,我们要进行重新刷新验证码。我们这里根据后端返回的当前时间和过期时间判断,过期的时间超过了当前时间的时候这里进行刷新验证码操作。我们这里使用dayjs控件进行时间转换。

qq_44552416的博客 1184

Fluent后台计算中Journal文件的自动化编写与优化实践

本文深入探讨了Fluent在Linux/Unix环境下进行后台计算时,Journal文件的自动化编写与优化实践。Journal文件作为Fluent后台计算的“灵魂”,是实现仿真流程自动化、保证计算可重复性与准确性的关键。文章从基础脚本骨架搭建、命令简写技巧,到进阶的参数化研究与批量计算实现,提供了详实的实战指南,帮助工程师大幅提升仿真效率。

postgres8guard的博客 756

js提交表单后自动刷新验证码

js提交表单后自动刷新验证码

qq_32450471的博客 397

滞回比较器电路详细分析

滞回比较器是一种用于检测两个不同电压值并使比较器输出高电平或低电平的电路。滞回比较器的特点是具有迟滞特性,即当输入电压高于某一阈值时,比较器输出高电平,当输入电压低于另一阈值时,比较器输出低电平,而在这两个阈值之间,比较器的输出保持不变。比较器通常有两个模拟电压输入端UIN+和UIN-以及一个数字状态输出端UOUT。当UIN+大于UIN-时,UOUT为高电平;当UIN+小于UIN-时,UOUT为低电平。根据具体的系统定义,这两种电位的具体数值可以有所不同。

LuDvei的博客 2万+

Unity程序化河流生成工具Waterways:从算法到实践的全流程解析

程序化内容生成(PCG)是游戏开发与三维建模领域的关键技术,它通过算法自动创建游戏内容,显著提升开发效率。其核心原理是将设计规则转化为可执行的代码逻辑,从而生成复杂、多样且符合自然规律的环境资产。在开放世界游戏和模拟经营类项目中,程序化生成技术能够快速构建大规模、高一致性的自然场景,如山川、森林与水体网络。Unity引擎作为广泛使用的开发平台,其地形系统与着色器管线为程序化工具的集成提供了强大基础。本文聚焦于利用Waterways这一Unity工具集,深入探讨如何通过模拟重力驱动、流量累积等自然水力原理,在

weixin_33690963的博客 684

Java Web开发——自动刷新展示验证码图片

在浏览器上实现自动刷新的效果一般有两种思路:(1)前端实现,通过javascript进行操作;(2)后端实现,通过设置HTTP响应消息头的内容,告知浏览器自动进行刷新。这里我们介绍后一种实现策略。 假设我们现在希望在浏览器上每隔3秒钟自动从后台获取一张新的八位随机验证码图片并进行展示,则代码如下: import javax.imageio.ImageIO; import javax.servlet.ServletException; import javax.servlet.http.HttpServ

荔枝的FM 1132

读取rosbag中的IMU信息并转为tum格式的csv和txt

rostopic -b xx.bag -p /xx > xxx.txt #for euroc structvio import os, sys,re,csv name="street_07" # basedir="/media/yinjie/2498AF1F98AEEF0C/adataset/15results/imu_bagtxt/"+name+'.txt' # txtdir="/media/yinjie/2498AF1F98AEEF0C//adataset/15results/imu_o

qq_42928559的博客 1919

vue3 中实现 验证码发送 刷新不变倒计时

这里有一个按钮 哈 我 这里会有不同的机器人 这个按钮点击的时候 会调用接口 后端异步更新商品 但是此时我不想让用户 频繁点击 因为要考虑到性能问题 所以我在这里做了一个倒计时 ,我一开始直接将这个上面的倒计时 用在这里了 发现可以使用 但是切换机器人 还是那个倒计时 不符合我的业务逻辑 所以我需要给每一个机器人一个倒计时对象。以上就是将倒计时时间存储在了当前的内存中每一次刷新 都是原来的倒计时时间 除非用户把内存删了 当然 用户一般也不懂这个 也不会去删的。下面我说一下 当前的进阶版的倒计时。

阿乐的博客 1139

手把手教你用OpenCalib完成激光雷达与相机联合标定:从数据准备到结果可视化

本文详细介绍了使用OpenCalib工具链中的lidar2camera模块完成激光雷达与相机联合标定的全流程,包括数据准备、标定命令执行、结果验证与可视化。通过实战指南,帮助读者掌握工业级标定技术,提升自动驾驶和机器人领域的传感器融合精度。

weixin_30872499的博客 400

AutoGLM-Phone 实现“豆包 AI 手机”的自动化操作手机的实战方案教程 让普通手机秒变ai手机

是一个基于视觉语言模型(VLM)的 AI 手机智能助理框架。❌ 不依赖固定坐标❌ 不需要提前录制脚本✅ 能“看懂”手机屏幕✅ 能理解自然语言指令✅ 能自动规划操作路径并执行让 AI 像人一样看屏幕、想步骤、点手机。从工程角度看,AutoGLM-Phone 已经具备“AI 手机助理”的完整雏形能看能理解能规划能执行能跨 App所谓的「豆包 AI 手机」,本质上就是这类能力的产品化封装。而现在,这套能力已经可以被普通开发者亲手跑起来、改起来、甚至接入自己的业务场景。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 595

验证码代码块+长时间未操作自动返回界面

长时间未操作自动返回界面+简易验证码

Q1348633的博客 723

【WRF-GHG 教程上】完整教程(2024年更新版)

完整教程(2024年更新版)

WW、forever的博客 1435

获取验证码

//验证码 var counts = 60; function settime(val) { console.log('val:',val) if(counts == 0) { val.style.color = '#F5B089'; val.innerHTML = "重新获取"; counts = 60; return f..

assassin_0302的博客 1467

【Inpho精品教程】Inpho简介、安装教程(附Inpho8安装包下载)

本文介绍Trimble旗下Inpho UASMaster航空摄影测量软件,涵盖其核心功能模块(如Match-AT、OrthoMaster、Summit Evolution等)及安装教程。文章详细说明了从安装到汉化破解的全过程,并提供Inpho 8.0.1安装包下载链接与提取码,适用于无人机摄影测量专业用户。

智慧空间实验室 1万+

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

JavaWeb Response验证码实现

使用Response在web端展现一个每三秒刷新一次的七位验证码: public class ImageServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //如何让浏览器3秒自动刷新 resp.setHeader(

weixin_45193791的博客 308

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Qt如何生成随机验证码

Qt如何生成随机验证码

m0_73443478的博客 685

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

终极指南:如何解决biliTickerBuy项目中的Token过期问题?

biliTickerBuy是一款针对B站会员购的抢票脚本,支持漫展等活动的自动化抢购。在使用过程中,Token过期问题常常导致抢购失败,本文将深入分析这一问题的成因并提供完整解决方案。 ## 🧐 Token过期问题的常见表现 当你在使用biliTickerBuy进行抢票时,如果遇到以下情况,很可能是Token过期导致: - 程序突然停止工作并显示登录错误 - 抢购过程中提示"身份验证失败"

gitblog_07309的博客 379

jquery实现分秒倒计时,异步加载验证码

以下为循环验证,然后页面做提示 &lt;!-- pc端验证成功 --&gt; &lt;div class="code" style="display: none"&gt; &lt;div class="code-status"&gt;&lt;img src="{{ asset('mobile/courseset-manage/img/success-code

不和贪婪的人相对 不为薄情寡义的人流泪 这世界嘲笑我的人很多 你只是其中一个 不为岁月流逝蹉跎 不随潮流的是否去附和 329

Tkinter模拟发送邮箱验证码并在指定时间后验证码过期

先上两张图,再解释 运行原理: 程序运行后,输入要接收验证码的邮箱地址,点击“发送”后,控制台打印输出得到的验证码并发送到邮箱里;过了15秒以后,验证码再次刷新,并打印输出,这样就实现了动态过期,原理就是到某个时间点我再刷新一遍生成验证码函数,此时输入你邮箱里的验证码点“确认”肯定和最新的是不匹配的。当然这个过程在实际操作的时候是看不到验证码的输出的,这里为了直观理解所以在后台全部进行打印输出。 需要注意的是: 这里每次点击按钮都需要使用一个方法,难点在于全局变量global的使用,发送验证码不难,我之

Tang一橙的博客 731

jquery 每个一段时间执行一次方法--改变验证码

$(function () { /***每隔5分钟改变一次验证码 jquery 扩展方法 ***/ $.extend({ referesh1: function () { myDate = new Date(); ...

weixin_30825581的博客 156
上一篇: 将一个大图像分割成几个小图像的代码
下一篇: 数据库和数据仓库的区别
艾沙可牛
博客等级 码龄20年 54粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值