jsp验证码刷新

JSP Ajax实现局部刷新验证码验证 当用户点击"验证"按钮时,JavaScript代码将获取输入的验证码并通过Ajax请求将其发送到服务器上的"verifyCode.jsp"页面。通过这种方法,用户可以在不刷新整个页面的情况下验证其输入的验证码。当用户输入验证码并点击"验证"按钮时,页面将通过Ajax请求将验证码发送到服务器进行验证,并显示验证结果。然后,我们将用户输入的验证码与生成的验证码进行比较。现在,我们需要创建一个JSP页面来处理验证码的验证逻辑并返回验证结果。为了使验证码验证的例子完整,我们还需要一个生成验证码的JSP页面。 阅读详情

今天弄了一下JSP   验证码的问题   外加刷新。   把原代码共享一下:

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 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());


%>

check.jsp(检测是否正确   ,并且可以刷新)

 

//检测是否正确

String Certification = request.getParameter("Certification");
    String rand = (String) session.getAttribute("rand");

if (Certification.equals(rand)) {
<a href="hi.baidu.com/mahaibao" >连接</a>

}

else

{

out
     .println("<script language='javascript'>alert('你的验证码错误,请重试!');javascript:history.go(-1);</script>");

 

}

 

//实现刷新

<script>

function reloadImage(url)
{
document.form1.img1.src = url;
}
</script>

<img name="img1" src="image.jsp" width="50"><a href="JavaScript:reloadImage('image.jsp');">看不清楚</a>

 
AJAX与JSP结合的无刷新验证码实现示例 AJAX(Asynchronous JavaScript and XML)是一种用于创建快速动态网页的技术。通过AJAX,Web页面可以进行异步数据交换,这意味着在不需要重新加载整个页面的情况下,可以更新网页的部分内容。AJAX的核心是XMLHttpRequest对象,它允许JavaScript向服务器提出请求,并处理服务器响应,而用户无需离开当前页面。工作原理可以细分为以下几个步骤:当用户在网页上进行某些操作时,如点击按钮,JavaScript会创建一个XMLHttpRequest对象。 阅读详情

相关推荐

JSP中实现中文验证码刷新功能实战指南

htmltable {th, td {th {pre {简介:在网页开发中,验证码是防止恶意自动化操作的安全机制。在JSP(JavaServer Pages)中实现验证码刷新功能可提升用户体验,无需刷新整个页面即可获得新验证码。本文将探讨如何在JSP中生成中文验证码,并利用JavaScript进行局部刷新,同时强调安全性的考虑。

weixin_42511832的博客 911

jsp中点击验证码刷新验证码

<a href="javascript:refreshCode()"> <img src="${pageContext.request.contextPath}/checkCodeServlet" title="看不清点击刷新" id="vcode"/> </a> <script type="text/javascript"> /...

qq_41179691的博客 1211

jsp中实现验证码刷新功能

jsp中实现中文验证码并利用javascript技术实现验证码无法显示或不清晰时局部刷新验证码...

jsp使用验证码及验证码的点击刷新功能的实现

昨天的主要工作就是添加验证码功能,感觉还是挺有意思的。 首先总结下流程:登录注册界面->后台生成图片和这个图片对应的数字->前台的jsp页面获得图片所对应的数字->当用户点击提交后判断用户输入的与存储的数字是否一样 后台生成图片代码number.jsp: <%! Color getRandColor(int fc,int bc){ Random random = new Random(

fengsigaoju的博客 1万+

jsp验证码刷新功能

使用javascript生成验证码刷新功能

Jsp-图片验证码及刷新

Jsp-图片验证码及刷新Jsp-图片验证码及刷新Jsp-图片验证码及刷新

jsp验证码生成以及刷新

关于jsp验证码生成,显示,验证和刷新:   1:四位数据的验证图片生成,用servlet实现   2:在web.xmlli配置servlet   3:页面上显示servlet生成的图片   4:关于验证码输入数据的验证   5:验证码的刷新 ——————————————————————– 1:四位数据的验证图片生成,用servlet实现,servlet代码如下:import java.io.*...

saimens 189

概率论—期末复习速成笔记(自用)

概率论期末复习

a200327的博客 2万+

java iframe 刷新_使用iframe实现,点击JSP页面中的验证码刷新

1、验证码生成页面ValiCode.jsp:String s="";int count=0;Random rand=new Random();count=rand.nextInt(9999);while(count<1000){count=rand.nextInt(9999);}s+=count;session.setAttribute("validate",s);response.setC...

weixin_39798579的博客 226

YOLO11实战 第001期-基于yolo11的CrowdHuman密集行人目标检测实战文档(yolo格式数据免费获取)

1.数据阶段在拥挤/遮挡场景下,使用crowdhuman数据集重训练后的yolo11,效果表现较好。crowdhuman数据集标签如下,有Head BBox、Visible BBox、Full BBox。如下图显示:数据集介绍CrowdHuman数据集是旷世发布的用于行人检测的数据集,图片数据大多来自于google搜索。CrowdHuman数据集数据量比较大,15000张,5000张,验证集4370张。训练集和验证集中共有470K个实例,约每张图片包含23个人,同时存在各种各样的遮挡。

深度学习算法工程师,专注于前沿算法研究与实战应用。在这里,我将分享深度学习领域的实战经验、优质数据集资源以及最新论文解读与精度分析,旨在与广大技术爱好者共同探索人工智能的奥秘,助力技术成长与创新。 2161

Excel VBA | 一键批量生成对账单

根据对账单总表一键批量生成N家独立的客户对账单。

Microgoblins的博客 6982

jsp验证码局部刷新

jsp验证码局部刷新  $(function(){ $("#veryCode,#seeAgain").click(function(){ refresh(); }); function refresh(){ var time=new Date().getTime(); $("#veryCode").attr("src","image.jsp?id="+time);

凉粉 941

Proteus+汇编+8086电子时钟实战:从框架搭建到中断驱动的核心实现

本文详细介绍了使用Proteus仿真软件和8086汇编语言实现电子时钟的完整过程。从程序框架搭建、内存分段模型理解,到核心的8259中断控制器配置与编程,再到中断服务程序编写和数码管动态扫描显示驱动,系统阐述了底层软硬件协同开发的核心原理与实战步骤。该项目是深入理解计算机中断机制和汇编语言编程的绝佳实践。

weixin_29189381的博客 413

jsp验证码加无刷新更新

JSP做无刷新的验证码: 一共两个页面: 第一个image.jsp 一下是Image.jsp源代码 <%! Color getRandColor(int start,int end,long seed) { if(start>255) { start=255; } Random random=new Random(seed); int r=start+random.n

凉粉 1106

ximalaya 新xm-sign逆向思路

本文主要介绍目标网站新xm-sign值的逆向思路。仅代表个人理解,如有其他建议可在评论区沟通。声明仅仅记录一下自己的学习方法,不作为其他参考、更不作为商业用途。如有侵犯请联系本人删除。

weixin_66580433的博客 2017

Transformer实战(39)——多模态生成式Transformer

能够理解多种类型输入的模型被称为多模态模型。多模态学习是人工智能 (Artificial Intelligence, AI) 领域的重要研究方向之一,长期受到众多研究人员的关注。本节将介绍使用多模态模型的生成式 AI,包括文本到图像 (text-to-image) 和文本到音乐 (text-to-music) 的生成模型。将介绍 Stable Diffusion 及其工作原理,同时也将介绍 MusicGen 和 AudioGen 模型。

盼小辉丶的博客 2407

jsp简单登陆界面加图形验证码,新手必备(二)验证码刷新

如何实现登陆界面验证码的刷新功能? 在通过Maven配置好web服务后,在webapp文件夹中我们建立一个login.jsp文件 <head>标签用于定义文档的头部,它是所有头部元素的容器。<head> 中的元素可以引用脚本、指示浏览器在哪里找到样式表、提供元信息等等。 <body>元素定义文档的主体,包含文档的所有内容(比如文本、超链接、图像、表...

weixin_41852068的博客 2581

云端全自动AI漫剧生成工作流:从模型选型到完整实现

本文提出了一套云端全自动AI漫剧生成工作流解决方案,旨在解决传统漫剧制作效率低下的问题。该系统采用"编排引擎+模型矩阵"架构,通过集成大语言模型、图像生成、视频合成等技术,实现从剧本输入到成片输出的全流程自动化。 核心内容包括: 模型选型方案:剧本解析采用DeepSeek-V3/GPT-4o,图像生成使用DALL-E 3,视频合成选用Stable Video Diffusion,语音合成采用MiniMax TTS 系统架构设计:基于Celery分布式任务队列的编排层,分解任务至各功能模块

huanghm88的专栏 640

java web验证码 jsp 刷新_javaWeb中jsp页面验证码的实现

packagecom.tools;importjava.awt.Color;importjava.awt.Font;importjava.awt.Graphics;importjava.awt.image.BufferedImage;importjava.io.IOException;importjava.util.Random;importjavax.servlet.ServletExcepti...

weixin_28904055的博客 286

《QGIS快速入门与应用基础》009:国内镜像源(清华大学/阿里云)下载技巧

针对国内用户下载QGIS速度慢、易中断的问题,推荐使用清华大学和阿里云两大国内镜像源,提供3-10MB/s的极速下载方案。详细解析镜像源核心优势、分步骤下载指南及校验方法,对比清华(同步快、北方优选)与阿里云(南方节点多)的特点。针对常见问题如版本延迟、404错误等提供解决方案,并介绍搭配IDM等工具实现多线程加速的进阶技巧。通过镜像源+下载工具组合,用户可高效获取QGIS安装包,为后续系统安装奠定基础。

LuckyHanMo的博客 1730

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

上一篇: 过滤器
下一篇: JSP概念集合
rigger21
博客等级 码龄20年 39粉丝 43原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值