Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >使用JavaScript刷新验证码

使用JavaScript刷新验证码

作者头像
全栈程序员站长
发布于 2022-11-01 05:17:49
发布于 2022-11-01 05:17:49
1.2K0
举报

大家好,又见面了,我是你们的朋友全栈君。

今天学习了验证码的开发,日常生活中经常点验证码,今天自己也来做一个验证码

首先是用一个文件产生随机验证码:

<%@page import=”java.awt.*”%> <%@page import=”java.util.*”%> <%@page import=”java.awt.Graphics”%> <%@page import=”java.awt.image.BufferedImage”%> <%@page import=”javax.imageio.*” %> <%@ page language=”java” contentType=”text/html; charset=UTF-8″ pageEncoding=”UTF-8″%> <!DOCTYPE html PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”> <html> <head> <meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″> <title>Insert title here</title> </head> <body> <% int width = 60, height = 20; BufferedImage image = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);

Graphics g = image.getGraphics();

g.setColor(new Color(200,200,200)); g.fillRect(0, 0, width, height);

Random rnd = new Random(); int rndNum = rnd.nextInt(9000)+1000; String randS = String.valueOf(rndNum);

session.setAttribute(“randS”,randS);

g.setColor(Color.black); g.setFont(new Font(“”,Font.PLAIN,20)); g.drawString(randS, 10, 17);

for(int i = 0;i<=100;i++){ int x = rnd.nextInt(width); int y = rnd.nextInt(height); g.drawOval(x, y, 1, 1); }

ImageIO.write(image, “JPEG”, response.getOutputStream()); out.clear(); out = pageContext.pushBody(); %> </body> </html>

但是验证码单独出现不安全,我们采用验证码和表单组合提交

<%@ page language=”java” contentType=”text/html; charset=UTF-8″ pageEncoding=”UTF-8″%> <!DOCTYPE html PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”> <html> <head> <meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″> <title>Insert title here</title> </head> <body> 欢迎来到本系统<br> <form action=”/AJAX1/servlets/Loginservlet” method=”post”> <br> 请您输入账号:<input type=”text” name=”account”/><br> 请您输入密码:<input type = “password” name=”password”/><br> 验证码:<input type=”text” name=”code” size=”10″> <img border=0 src =”validate.jsp”> <input type = “button” value=”登录”> </form>

</body> </html>

验证码的刷新方法很多,做方便的是点击验证码图片:

<%@ page language=”java” contentType=”text/html; charset=UTF-8″ pageEncoding=”UTF-8″%> <!DOCTYPE html PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”> <html> <head> <meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″> <title>Insert title here</title> </head> <body> <script type=”text/javascript”> function refresh(){ loginForm.imgValidate.src=”validate.jsp?id=”+Math.random();

}

</script> 欢迎登录本系统<br> <form name=”loginForm” action=”/AJAX1/servlets/Loginservlet” method=”post”> 请你输入账号:<input type=”text” name = “account”><br> 请你输入密码:<input type=”password” name=”password”><br> 请输入验证码:<input type=”text” name=”code” size=”10″> <img name=”imgValidate” src=”validate.jsp” οnclick=”refresh()”><br> <input type=”button” value=”登录”> </form>

</body> </html>

这样我们就可以点击验证码进行刷新了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/204005.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月23日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
JSP与Servlet组合实现登录功能(附加验证码)
总结:刚一开始不明白JSP与html文件的具体区别,在理解上出了问题,后来通过查阅,明白JSP相对于html是会产生动态页面,且JSP只有发布到Tomcat服务器上才能打开,而html是直接可以打开的。另外能熟练掌握区分JSP中三种注释:JSP普通注释,JSP隐藏注释还有java代码注释。熟练掌握JSP语言的page属性值以及标识性动作forward的用法。
天道Vax的时间宝藏
2021/08/11
1.3K0
kaptcha验证码插件的使用
CBeann
2023/12/25
2180
kaptcha验证码插件的使用
jsp课程笔记之session(二)
注销session及共享session案例 login.jsp <%@ page language="java" contentType="text/html; charset=UTF-8"
兮动人
2021/06/11
6700
jsp课程笔记之session(二)
纯JSP实现用户登录注册,记事本
没有美化,没有格式,没有样式 1.JSP登陆注册 将用户注册的信息保存在application对象中,用于登录时的验证。 首页如下: 如果未登录,在  session 中找不到 currentUser 的值,则直接跳转到其他页面。 <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Tran
二十三年蝉
2018/02/28
5.7K0
我的第一个jsp程序-实现注册登录留言功能
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/109227.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/05
2.3K0
jsp调用getParameterValues获取表单信息
1.新建一个Dynamic Web Project项目,里面新建两个jsp文件,整体的结构如下所示:
全栈程序员站长
2022/09/15
3.1K0
jsp调用getParameterValues获取表单信息
生成验证码并校验
jsp-5 生成验证码并校验 依然是以上次的代码为底 index.jsp 新增了验证码一栏 注意他的servlet是新建的ImageServlet 而且中间插了一段JS代码用于刷新验证码 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = re
ydymz
2018/09/10
1.3K0
JSP/Servlet Web 学习笔记 DayThree —— 实现一个登陆小界面
  利用JSP、HTML、JS实现了一个简易的登陆系统。根据前两天的所学,实现了如下功能:
Rekent
2018/09/04
6500
JSP/Servlet Web 学习笔记 DayThree —— 实现一个登陆小界面
JSP实现用户登录样例
  业务描述   用户在login.jsp页面输入用户名密码登录:   如果用户名为xingoo,密码为123,则跳转到成功界面login_success.jsp,并显示用户登录的名字;   如果用户名密码错误,则跳转到失败界面login_failure.jsp,并提示返回登录界面。   login.jsp代码 <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYP
用户1154259
2018/01/17
3.5K0
jsp课程笔记之session(一)
客户端第二/n次请求服务端时:服务端会先用客户端cookie种的JSESSIONID 去服务端的session中匹配sessionid,如果匹配成功(cookie jsessionid和sesion sessionid),说明此用户 不是第一次访问,无需登录;
兮动人
2021/06/11
5740
jsp课程笔记之session(一)
jsp作业——简单的试卷和自动打分
1.jsp 基本html表单 单选框radio和多选框checkbox使用时,所有选项的name要相同。 <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html
治电小白菜
2020/08/25
1.2K0
Web阶段:第十三章:EL表达式
什么是EL表达式? E L的全称:Expression Language,就是表达式语言。可以输出表达式的值。跟jsp的表达式脚本一样。计算表达式的值后输出。 EL表达式出现的目的是为了使JSP写起来更加简单,让jsp的代码更佳简化。
Java廖志伟
2022/09/28
4900
Web阶段:第十三章:EL表达式
Java课程设计—学生成绩管理系统(201521123004-林艺如)「建议收藏」
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/154395.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/07
5030
Java课程设计—学生成绩管理系统(201521123004-林艺如)「建议收藏」
Servlet生成数字验证码及判断
为了提高网站的安全性,或者软件的安全性,现在再输入用户名和密码进行网站或者软件登陆的时候,如果输错一次就会出现输入验证码这一项,主要是为了保护账号不被暴力破解。这里我简单实现一下验证码。 使用Servlet生成验证码部分是摘自javaeye,有现成的代码直接使用就好了。不过前台这块纠结了半天,本来是打算用js对输入的验证码进行判断结果发现实现不了。最后只能写jsp脚本实现了。 首先是Servlet代码:SimpleCaptchaServlet.java:
the5fire
2019/02/28
1.6K0
Ajax工作流程(原生Ajax)
(1)初始化XMLHttpRequest对象。不同浏览器的差异,需要我们创建一个跨浏览器的对象,并判断XMLHttpRequest对象创建是否成功,如果不成功,则给予提示。
红目香薰
2022/11/29
8490
基于用户登陆的struts2中action的分类详解
在struts2中action的分类有:继承 ActionSupport 实现 Action,模型驱动(ModelDriven)的 Action,多方法的 Action三种方式。
牛老师讲GIS
2018/10/23
4470
request对象常用方法总结
客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。request对象具有请求域,即完成客户端的请求之前,该对象一直有效。常用方法如下:
全栈程序员站长
2022/08/13
4690
request对象常用方法总结
Web阶段:第三章:JavaScript语言
JavaScript介绍: 1.Javascript语言诞生主要是完成页面的数据验证。 2.它运行在客户端,需要运行浏览器来解析执行JavaScript代码。 3.JS是Netscape网景公司的产品,最早取名为LiveScript;为了吸引更多java程序员。更名为javascript。 4.JS是弱类型,Java是强类型。
Java廖志伟
2022/09/28
3.6K0
jsp+Servlet创建简单登陆页面
登陆页面的主要功能-> 输入正确信息时跳转到welcome.jsp,并且浏览器保存正确信息 输入错误信息时显示“用户名或密码错误” . 再次登录时系统会显示保存的信息 . 4.未登录直接访问welcome.jsp时会提示请先登录 大体思路 -> 输入信息正确时,使用 response.sendRedirect重定向到welcome.jsp。 错误时,建立一个err,赋值“用户名或密码错误”,然后request.getRequestDispatcher请求转发到lo
且陶陶
2023/04/12
1.7K0
jsp+Servlet创建简单登陆页面
用eclispe开发web项目初步
1.打开eclipse后,新建一个web项目: new -- dynamic web project 点击Finish,新建项目完成! 调整字体大小: window -- preferences 选
剽悍一小兔
2018/05/17
6490
推荐阅读
相关推荐
JSP与Servlet组合实现登录功能(附加验证码)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档