JSP验证码刷新无效问题解决

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

在form表单中,如下

<form name="infof">
   <font color="red">姓名:</font> <input name="name" type="text"></input><br>
   <font color="red">密码:</font> <input name="password" type="password"></input><br>
   验证码:<input name="validate" type="text">
   <img name="vali" border=0 src="validate.jsp" onclick="refresh()"/>
   <a href="JavaScript:refresh()">看不清,换一张</a>
   <br>
   <input type="button" onclick="login()" value="登录"> <input
    type="reset">
  </form>


在验证码图片中,调用的是validate.jsp,用于生成验证码图片。这个jsp中的内容如下:

<body>
	<%
		response.setHeader("Pragma", "No-cache");
		response.setHeader("Cache-Control", "no-cache");
		response.setDateHeader("Expires", 0);
		BufferedImage image = new BufferedImage(75, 30,
				BufferedImage.TYPE_INT_RGB);
		Graphics g = image.getGraphics();
		g.setColor(Color.gray);
		g.fillRect(0, 0, 75, 30);

		String randStr = String.valueOf(new Random().nextInt(8999) + 1000);
		session.setAttribute("randStr", randStr);

		g.setColor(Color.black);
		g.setFont(new Font("", Font.PLAIN, 20));
		g.drawString(randStr, 10, 20);
		for (int i = 1; i <= 120; i++) {
			int x = new Random().nextInt(75);
			int y = new Random().nextInt(30);
			g.setColor(Color.blue);
			g.drawOval(x, y, 1, 1);
		}
		ImageIO.write(image, "JPEG", response.getOutputStream());
		out.clear();
		out = pageContext.pushBody();
		
	%>
</body>

好了,现在大头戏来了。

在

<img name="vali" border=0 src="validate.jsp" onclick="refresh()"/>
   <a href="JavaScript:refresh()">看不清,换一张</a>

中,无论是链接还是onclick方法,都是指到js中的一个方法。

具体如下:

<script type="text/javascript">
		function refresh(){
			infof.vali.src="";
			infof.vali.src="validate.jsp";
			
		}
	</script>


本来呢,infof.vali.src="";这条语句我是没有的。当我点击图片,或者点击链接的时候,我发现,validate.jsp都没有被调用。无论我怎么设置缓存设置(可能是我还没有设置到点上)

干脆,我自己想了个办法,我用这种方法 解决了刷新验证码无效的问题。

经过测试,链接和点击图片都可以~~~问题解决

 

 

 

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简单登陆界面加图形验证码,新手必备(二)验证码刷新

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

weixin_41852068的博客 2581

封装CTP API为Java SDK

本文介绍了在Windows环境下使用Java调用CTP API的编译实现过程。首先需要准备CTP API SDK、JDK、SWIG和Visual Studio等工具,配置好开发环境。然后通过搭建目录结构、编写SWIG接口文件ctp.i,实现C++到Java的代码转换。文中详细说明了文件目录组织方式,并提供了处理中文乱码的代码示例。通过这一系列步骤,最终将CTP的C++接口转换为Java可调用的形式,为Java项目获取期货实时报价数据提供支持。

weixin_43952815的博客 1222

关于jsp中验证码在某些浏览器中无法显示的问题

最近编写的jsp程序中验证码无法在qq浏览器,360浏览器,谷歌浏览器中正常显示,可以在火狐浏览器中正常显示。具体的原因还未知,不过如果在生成验证码的程序中 在 response.setHeader("Pragma","No-cache");  response.setHeader("Cache-Control","no-cache");  response.setDateHead

lhy18235303007的博客 6261

2021-08-20

通过QQ号获取绑定的手机号 导语 偶有奇想,我们可以通过手机号来搜索获取其对应的QQ号,那么,反过来呢? 一.缩小范围 由于手机号属于隐私数据,腾讯QQ并没有直接给出通过QQ号查找对应手机号的接口。 国内的手机号有十一位数字,从数学的角度上来说,包含了1011种可能。如果遍历这1011个数据,通过QQ中手机号查找QQ号的接口来寻找,未免太过费时费力,根据网上查到的资料,同一个QQ号,在十分钟内只能进行30次查询(未验证)。因此,直接遍历的方法不现实。 在这10^13个数据中,包含着大量的可去除的无用数据。我

m0_56063822的博客 4724

群晖Lucky套件高级玩法-——更新证书同步更新群晖自带证书

群晖Lucky套件高级玩法-——更新证书同步更新群晖自带证书

wojuzi的博客 2458

jsp验证码生成以及刷新

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

twosecond 713

无人驾驶Autoware导读

认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对无人驾驶Autoware介绍做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容。

qq_35635374的博客 2398

resinjsp 验证码不显示而tomcat中显示

  解决: 在执行的代码最前面加上  out.clear();     

wangzhantao的专栏 158

基于树莓派4B设计的厨房环境监测系统_368

本项目设计并实现了一种基于树莓派4B的厨房环境监测系统,提升厨房使用过程中的安全性与智能化水平。系统采用树莓派4B作为主控核心,集成DHT11温湿度传感器、MQ2烟雾传感器、火焰传感器、光敏传感器、水滴检测传感器等多种传感器,实现对厨房环境温湿度、烟雾、火焰、光照与溢水等参数的实时监测,并通过蜂鸣器进行本地报警。系统通过WIFI连接互联网,利用MQTT协议将环境数据上传至华为云物联网平台,实现远程可视化监控。

416

面向 Cloud Foundry、ABAP On-Prem 与 ABAP Cloud 的 SAP Fiori 开发全景:工具、流程与实战案例

SAP Fiori开发实战:基于BAS的一站式工程化方法 摘要: 本文系统梳理SAP Business Application Studio(BAS)在Fiori开发中的核心能力,提供三种典型后端(Cloud Foundry/ABAP On-Prem/ABAP Cloud)的对接方案。BAS通过预置Fiori Tools套件、MTA部署工具等扩展,支持从模板创建、可视化建模到构建部署的全流程。文章包含CAP+RAP服务对接、ABAP标准应用扩展等实战案例,重点解析注解驱动开发、Adaptation Proj

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 256

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

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

fengsigaoju的博客 1万+

Python爬虫实战:利用Scrapy+Playwright高效爬取TED演讲数据

在当今信息爆炸的时代,TED演讲作为全球知名的思想传播平台,汇聚了各领域顶尖人才的精彩分享。对于数据分析师、研究人员或内容创作者来说,获取TED演讲的完整数据集具有重要价值。本文将详细介绍如何使用Python中最先进的爬虫技术组合——Scrapy框架配合Playwright浏览器自动化工具,高效爬取TED演讲的完整数据。传统爬虫技术在处理现代动态网页时面临诸多挑战,而本文将展示如何利用最新工具解决这些问题。

2201_76125261的博客 206

jsp验证码刷新

今天弄了一下JSP   验证码的问题   外加刷新。   把原代码共享一下:image.jsp(生成图片页面)Color getRandColor(int fc,int bc){//给定范围获得随机颜色         Random random = new Random();         if(fc>255) fc=255;         if(bc>255) bc=255;   

马海宝 2594

HiCMAE 论文复现:基于 RAVDESS 数据集的音视频情感识别

多模态情感识别是人工智能领域的重要研究方向,旨在通过结合多种感知模态(如音频、视频、文本等)来更准确地识别人类情感状态。与传统单模态方法相比,多模态方法能够利用不同模态间的互补信息,提高情感识别的鲁棒性和准确性。 RAVDESS(Ryerson Audio-Visual Database of Emotional Speech and Song)是一个常用的多模态情感识别数据集,包含24位专业演员(12名男性,12名女性)表达的8种情感状态(中性、平静、快乐、悲伤、愤怒、恐惧、厌恶和惊讶)的音视频数据。

max500600的博客 498

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

点击验证码无法刷新,或只能刷新一次的问题

今天在刷新验证码的时候发现只能刷新一次,之后就没有反应了 修改前的前台代码: jsp: < img id="imgCode" src="${path }/imageCode.action" title="看不清?点击换一张" onclick="re_Code()"/> js: function re_Code(){ var img = document.getElementById(...

13号同学的博客 3025

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

jsp页面验证码产生及刷新问题

jsp验证码及刷新   2009-02-12 22:36:27|  分类: jsp|字号 订阅 说明:生成验证码(image.jsp),用户注册(register.jsp) 验证(UserAction.java) image.jsp:         Color getRandColor(int fc,int bc){//给定范围获得随机颜色

luoxia0805的专栏 1054

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

【JSP生成验证码】

验证码的出现有效地防止了服务器被恶意利用的问题的出现。So,现在的应用基本都会用到验证码,而对于我们来说,需要掌握的不仅仅是验证码的作用,所以今天就做了一个简单的验证码。虽然目前市面上有很多第三方验证码接口或者框架,例如ValidateCode.jar等,还是自己动手做一个玩玩。(哈哈哈,废话一啪啦)。 为了玩这个,还回去看了一下j2se的内容(java画图就没怎么玩...) 先准备一个生成验...

Charles 1527

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

JSP无刷新验证码

此实现共分三个文件,即:CreatImage.java 生成图像流的类,提供用于生成图片流的方法;images.jsp 图片包装,用于将图片加入到response输出流中;login.jsp 调用前面的jsp,显示验证码。CreatImage.java 类:3 import java.awt.Color; 4 import java.awt.Font; 5 import java.awt.Gr

Pluto的专栏 679

关于jsp开发验证码的实现

前言,今天要写的是jsp开发时,需要的验证码功能。 1,实现验证码有很多方式,现在还有插件可以使用,今天主要讲的是通过代码实现验证码的功能 2,开始  1)首先我们要在前端写好验证码显示的区域 &lt;div&gt; 验证码:&lt;img src="&lt;%=request.getContextPath() %&gt;/base2/validate" alt="验证码"...

文生同学 1845

Jsp验证码

用JSP做的一个简单的4位数字验证码。 其中jsp

当你的才华还撑不起你的野心时,那你就应该静下心来学习。 770
上一篇: Tomcat启动startup.bat一闪而过提示Java_home设置错误的解决办法
下一篇: 关于ExtJs中,下拉列表问题解决
tristan-k
博客等级 码龄16年 11粉丝 22原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值