验证码定时自动刷新

验证码(点击自动刷新) 验证码,点击自动刷新,而且具有输入跳转功能 立即下载
文件如下: 其中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

【OpenClaw 故障排查完全指南】

OpenClaw 故障排查指南摘要 本指南针对OpenClaw 2026.2.26版本常见问题提供解决方案,适用于Windows/Linux/macOS平台。 核心问题及修复方案: 飞书插件连接失败:删除冲突插件或重装OpenClaw Ollama认证错误:设置环境变量OLLAMA_API_KEY="ollama-local" 配置警告:可安全忽略的安全扫描提示 端口占用:查找并终止占用18789端口的进程 插件重复加载:清理重复插件目录 快速修复: 提供一键修复PowerShell脚本

weixin_37572294的博客 1万+

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

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

qq_32450471的博客 397

抖音视频数据抓取

最近经常有人问我抓取抖音视频的数据,问我一些很小白的问题,算法给他也不会用。 还是先抓包,获取需要的接口和参数,相关的算法在其它文章里面有描述。 搜索个视频看看 查看抓的包信息: 可以看到,这里是post请求...

2501_91048859的博客 3098

Decoder如何工作、Transformer如何训练、以及exposure bias问题

1、结合图文描述Decoder中各个模块是什么,以及是如何工作的。2、transformer是如何训练的。3、exposure bias问题造成的原因及解决方法

m0_59113542的博客 3345

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

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

荔枝的FM 1132

EETI_eGTouch驱动移植及校准

一.环境 芯片:NXP IMX6Q 内核版本:4.1.15 uname:Linux myimx6ek314 4.1.15-myimx6-g5d588fa6-dirty #4 SMP PREEMPT Tue Nov 17 17:26:34 CST 2020 armv7l armv7l armv7l GNU/Linux 二.官方《EETI_eGTouch_Linux_Programming_Guide_v2.5l.pdf》文档勘误 HID_MULTITOUCH =Y or N(官方文档设置为M): 正确设置H

Garden的博客 4334

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

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

阿乐的博客 1139

【AI大模型:前沿】44、大模型+机器人:从自动化工具到通用智能体的技术革命与应用全景

大模型与机器人的融合催生了“具身智能体”,突破传统机器人智能化缺失、功能单一等瓶颈。大模型赋予机器人三大能力:常识推理(如热牛奶需去包装)、模糊指令解析(如“整理书桌”拆解步骤)、零样本任务泛化(如搭乐高桥)。技术实现上,通过多模态融合(视觉-语言-动作)、仿真训练(虚拟试错)和实时反馈(动态调整动作)形成闭环。主流框架如Google RT-2(端到端动作生成)、斯坦福Q-Transformer(强化学习优化)和Figure 01(ChatGPT驱动人形机器人)各具优势,可适配工业、家庭等场景。该技术正重塑

2025博客之星Top81。专注AI工程化与架构实战。从分布式思维到模型部署,用工程化视角为你厘清AI落地的真实路径。 2019

coze 怎么读取excel文件,使用循环,数据库完成LLM问答并存储

本文介绍了如何在Coze平台实现"Excel读取+循环处理+LLM问答+数据库存储"的工作流。主要分为三个步骤:1)使用代码节点解析Excel文件为问答对数组;2)通过循环节点遍历问答对,调用LLM节点生成回答;3)利用数据库节点将问答结果存储到Coze内置数据库中。文中提供了代码示例和节点配置说明,并强调了注意事项如Excel格式要求、LLM调用频率控制等。该工作流适用于批量构建知识库问答系统并持久化存储结果。

ZhangJiqun&191cm&85kg 1790

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

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

Q1348633的博客 723

YOLOv11改进 - 卷积Conv | SPD-Conv空间深度转换卷积优化空间信息编码,攻克小目标检测难题

本文介绍了一种名为SPD-Conv的新型CNN构建块及其在YOLOv11中的结合。传统CNN在处理低分辨率图像或小物体时,因使用步长卷积和池化层导致细粒度信息丢失、性能下降。SPD-Conv由空间到深度(SPD)层和非步长卷积(Conv)层组成,完全消除卷积步长和池化层,避免信息损失。SPD层重排特征图元素将空间信息转换到深度维度,非步长卷积层进一步处理特征图。我们将SPD-Conv集成进YOLOv11,实验证明其在低分辨率图像和小物体检测任务上显著优于现有模型。

魔改工程师的博客 1141

获取验证码

//验证码 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

python实现Markowitz模型 (附完整源码)

python实现Markowitz模型 (附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 405

IEM模型,地表粗糙度模拟

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

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

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Qt如何生成随机验证码

Qt如何生成随机验证码

m0_73443478的博客 685

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

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

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

终极指南:如何解决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、付费专栏及课程。

余额充值