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

2024年全国大学生电子设计竞赛H题_自动行驶小车

自动行驶小车(H题)【本科组/高职高专组】

qq_74395263的博客 1万+

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

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

lhy18235303007的博客 6261

银河麒麟V10离线环境下的Python项目迁移:从Windows依赖到ARM架构适配

本文详细介绍了在银河麒麟V10离线环境下将Python项目从Windows迁移到ARM架构的完整流程。重点讲解了离线安装pip、virtualenv等基础工具的方法,以及如何解决ARM架构兼容性问题,确保项目依赖正确迁移。文章还提供了常见问题解决方案和性能优化建议,帮助开发者顺利完成国产化平台适配工作。

weixin_42639246的博客 423

全国30米分辨率逐年植被覆盖度(FVC)数据集

植被覆盖度是描述地表植被的重要参数与生态环境的基本指标,在大气圈、土壤圈、水圈和生物圈中都占据着重要的地位,区域及全球范围的植被覆盖度估算对植被及相关领域的研究具有重要意义。分别对LANDSAT 5/7/8系列数据计算FVC,其中Landsat5 和Landsat 7NDVI计算利用 B4和B3波段,Landsat8 和Landsat9 NDVI计算利用 B5和B4波段。算法从当年所有观测数据中,以低云、低探测角度和最高NDVI值为标准,选择最佳的可用像元值,并进行换算。(3) FVC的计算。

地球资源数据云的官方博客 1808

jsp验证码生成以及刷新

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

twosecond 713

运算放大器 VS 仪表放大器

运算放大器(Operational Amplifier, 简称 Op Amp)和仪表放大器(Instrumentation Amplifier, 简称INA)在电子电路设计中都有非常广泛的应用,但两者在结构、特性以及应用场景上都有明显的区别。以下是它们之间主要的差异:运算放大器(Op Amp)仪表放大器(INA)运算放大器仪表放大器运算放大器仪表放大器运算放大器仪表放大器运算放大器仪表放大器总之,运算放大器是通用型放大元件,需要设计者自己做额外的电路配置;而仪表放大器则是针对高精度测量差分信号而生,内部匹配

chinahongjiang的博客 1348

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

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

wangzhantao的专栏 158

保姆级教程:在阿里云ECS上用Docker一键部署EMQX MQTT服务器(Ubuntu 20.04)

本文提供在阿里云ECS上使用Docker一键部署EMQX MQTT服务器的详细教程,涵盖从实例创建、Docker环境配置到EMQX部署与优化的全流程。适合物联网开发者快速搭建高效、安全的MQTT消息服务器,适用于智能家居、工业物联网等场景。

weixin_28739079的博客 308

Ubuntu22.04如何安装cuDNN8.9.7

本文详细介绍了在Ubuntu 22.04系统上为CUDA 12.2安装适配cuDNN 8.9.7的完整流程,特别针对RTX A6000显卡。主要内容包括:1)选择与CUDA 12.2兼容的cuDNN版本;2)使用deb包方式的安装步骤(添加仓库、导入密钥、安装组件);3)通过MNIST示例验证安装;4)版本锁定、卸载旧版等补充说明;5)性能测试方法。文中强调了版本匹配的重要性,并提供了多卡配置建议,为搭建深度学习开发环境提供完整指导。

2501_93651177的博客 1845

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

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

fengsigaoju的博客 1万+

2、集中式MIMO雷达研究进展:正交波形设计与信号处理

集中式多输入多输出(Multiple Input Multiple Output,MIMO)雷达通常利用正交波形增加发射波形 自由度,采用数字阵列拓展空间收发自由度,使得雷达接收机的天线孔径获得明显扩展,最终带来空间分辨率、 测角精确度、杂波抑制能力等大幅度提升。但是,这些性能提升的前提是发射波形具有正交特性。事实上,在 实际应用中,在不牺牲时域/频域资源情况下,受限于时宽带宽积,无法获得完全正交的波形集合,从而限制了 MIMO雷达系统性能。本文对集中式MIMO雷达正交波形复用的技术原理进行了系统回顾,分别

qq_43416206的博客 2772

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

RK平台PCIE-Ethernet扩展:Intel I210移植与性能飞升之路

本文详细介绍了Intel I210千兆以太网控制器在瑞芯微RK平台的移植与优化过程。通过硬件适配、内核配置、驱动开发及性能调优四个关键环节,实现了RK平台的网络性能提升。硬件方面,重点说明了PCIE接口的规范连接与供电检查;软件方面,系统阐述了内核配置、设备树修改和驱动编译流程。在性能优化环节,详细介绍了中断优化、缓冲区设置和TCP/IP协议栈调优策略,并采用Iperf和Netperf工具进行量化测试验证。测试结果显示,优化后的网络吞吐量提升20%以上,延迟降低40%,为工业控制、智能安防等场景提供了可靠的

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 352

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

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

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

13号同学的博客 3025

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

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

假人有限元模型

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

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

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

【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、付费专栏及课程。

余额充值