java实现动态验证码源代码——jsp页面

    我们通常在其他网站注册或者登陆的时候会发现一个很高大上的验证码,那么怎么用java代码实现呢?下面我给大家贴一下我写的方法:

   此文章是写的前台jsp页面的代码:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%String tag=request.getParameter("tag");request.setAttribute("tag",tag);%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><base href="<%=basePath%>"><title>用户登录</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0">    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--><link href="<%=basePath%>css/common.css" rel="stylesheet" type="text/css" /><link href="<%=basePath%>css/style.css" rel="stylesheet" type="text/css" /><script type="text/javascript" src="js/jquery-1.8.3.js"></script><script type="text/javascript">$(function(){if(${tag == 'nologin'}){alert("对不起,您还没有登录,请先进行登录");}});</script><script type="text/javascript" >$(function(){//注册$("#register").click(function(){location.href="register.jsp";});//验证码$("#changeCode").click(function(event){$("#validateCode").attr("src","Number.jsp?ran"+Math.random());event.preventDefault();return false;	});//判断验证码输入是否正确$("#passwords").blur(function(){$.post("doNumrand.jsp","inputCode="+$("#passwords").val(),function(result){if($.trim(result)=="true"){$("#cl").html("<span style='color:green'>验证码正确</span>");	}else{$("#cl").html("<span style='color:red'>验证码错误</span>");	}});}); });</script><script type="text/javascript"><%String msg = request.getParameter("msg");if("registerSuccess".equals(msg)){out.print("alert('注册成功,系统将自动跳转登录页');");}if("loginError".equals(msg)){out.print("alert('用户名密码错误,请重新登录');");}if("validateCodeError".equals(msg)){out.print("alert('验证码错误,请重新输入');");}%>	</script></head><body>
<div class="wrap">
<!-- main begin--><div class="main"><div class="sidebar"><p><img src="images/img1.jpg" width="443" height="314" alt="" /></p></div><div class="sidebarg"><form action="login.action" method="post"><div class="login"><span style="color:red"><s:property value="msg"/></span><dl><dt class="blues">用户登陆</dt><dd><label for="name">用户名:</label><input type="text" name="auctionuser.username" class="inputh" value="${username}" id="name"/></dd><dd><label for="password">密 码:</label><input type="password" name="auctionuser.userpassword" class="inputh" value="${userpassword}" id="password"/></dd><dd><label class="lf" for="passwords">验证码:</label><input type="text" name="inputCode" class="inputh inputs lf" value="" id="passwords"/><span class="wordp lf"><img id="validateCode" src="Number.jsp" width="96" height="27" alt="" /></span><span class="blues lf"><a id="changeCode" href="javascript:void(0);" title="">看不清</a>    <a id="cl"></a></span></dd><dd><input name=""  type="checkbox" id="rem_u"  /><span class="rem_u">下次自动登录</span></dd><dd class="buttom"><input name="" type="submit" value="登 录" class="spbg buttombg f14 lf" /><input id="register" name="" type="button" value="注 册" class="spbg buttombg f14 lf" /><span class="blues  lf"><a href="" title="">忘记密码?</a></span><div class="cl"></div></dd></dl></div></form></div><div class="cl"></div></div>
<!-- main end--><!-- footer begin-->
</div><!--footer end-->
</body>
</html>
    在这里主要是使用的ajax的方法,当鼠标离开输入验证码的文本框时,进行验证是否输入正确!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/327556.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

集成Swagger(API)---SpringBoot

集成Swagger(API) 学习目标: 了解Swagger的概念及作用掌握在项目中集成Swagger自动生成API文档Swagger简介 前后端分离 前端 -> 前端控制层、视图层后端 -> 后端控制层、服务层、数据访问层前后端通过API进行交互前后端相对独立且松耦合产生的问题 前后端集成,前端或者…

win10硬盘修复工具使用教程

DiskGenius 下载地址https://www.diskgenius.cn/download.php https://baijiahao.baidu.com/s?id1651410139210648102&wfrspider&forpc win10硬盘修复工具使用教程 小白一键重装系统 发布时间&#xff1a;19-11-2810:17惠州市早点科技官方帐号&#xff0c;优质创作者…

.NET Core Tools转向使用MSBuild项目格式

微软之前为了让.NET Core和ASP.NET Core能够支持Windows Visual Studio之外的开发平台&#xff0c;创建了基于project.json格式的项目系统。不过可惜&#xff0c;这种格式与之前的.csproj/MSBuild无法兼容。来自微软的Rich Lander近期宣布&#xff0c;.NET Core Tools将在最新的…

java多线程之:SynchronousQueue队列

转载自 java多线程之&#xff1a;SynchronousQueue队列 SynchronousQueue是这样一种阻塞队列&#xff0c;其中每个 put 必须等待一个 take&#xff0c;反之亦然。同步队列没有任何内部容量&#xff0c;甚至连一个队列的容量都没有。 不能在同步队列上进行 peek&#xff…

android:background大小,小Demo小知识-android:foreground与android:background

-----------------------------------------------前言君--------------------------------------------------正好碰到了这个foreground属性平时没怎么用到过。这次用到&#xff0c;就特意的去看了下。在这里记录一下。------------------------------------------------正文君…

java实现动态验证码源代码——绘制验证码的jsp

接着上一篇的前台jsp页面&#xff0c;我们单独写一个绘制验证码的jsp页面&#xff1a; <% page contentType"image/jpeg"import"java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*"pageEncoding"utf-8"%> <%!Color getRandColo…

异步任务---SpringBoot

异步任务 同步 1、创建一个service包 2、创建一个类AsyncService 异步处理还是非常常用的&#xff0c;比如我们在网站上发送邮件&#xff0c;后台会去发送邮件&#xff0c;此时前台会造成响应不动&#xff0c;直到邮件发送完毕&#xff0c;响应才会成功&#xff0c;所以我们…

idea报错:Error:java: JDK isn‘t specified for module ‘xxx‘

idea报错&#xff1a;Error:java: JDK isn‘t specified for module ‘xxx‘ Code_LiYi 2020-07-01 11:54:34 274 收藏 分类专栏&#xff1a; 学海漂游 版权 错误&#xff1a;idea报错Error:java:JDK isn’t specified for module “XXXX” 原因&#xff1a;项目中的.idea文…

微软推出《我的世界》“编程一小时”免费教程,携手Code.org普及计算机科学教育

为了继续支持全球计算机科学教育周期间的“编程一小时”年度全球活动&#xff08;12月5日至11日&#xff09;&#xff0c;微软和Code.org共同发布了针对学生和教育工作者的《我的世界》造物主版编程教程。网页版全新教程现已免费上线&#xff0c;初学者可以通过教程中简单的游戏…

集合框架 Queue---ArrayBlockingQueue

转载自 集合框架 Queue---ArrayBlockingQueue 摘要&#xff1a;java.util.concurrent类java.util.concurrent 类 ArrayBlockingQueue<E> java.lang.Object java.util.AbstractCollection<E> java.util.AbstractQueue<E> java.util.…

android 处理http状态码,OkHttp(Retrofit)对于http状态码202的处理

http code 202 :The request has been accepted for processing, but the processing has not been completed.这时候&#xff0c;服务器给你的body是空的&#xff0c;如果你使用去解析为json&#xff0c;那么&#xff0c;恭喜你java.io.EOFException: End of input at line 1 …

java实现动态验证码源代码——接受ajax的jsp

此篇主要介绍的是接受前台ajax的数据&#xff0c;判断输入的验证码是否正确&#xff1a; <% page language"java" import"java.util.*" pageEncoding"UTF-8"%> <%//从session里面获取图片验证码String inputCode request.getParameter…

邮件发送---SpringBoot

邮件任务 邮件发送&#xff0c;在我们的日常开发中&#xff0c;也非常的多&#xff0c;Springboot也帮我们做了支持 邮件发送需要引入spring-boot-start-mailSpringBoot 自动配置MailSenderAutoConfiguration定义MailProperties内容&#xff0c;配置在application.yml中自动装…

2.Idea分支的merge

1.选择需要merge到的版本 比如说develop是主板本。temp是紧急分支版本的话。 name要选到develop这个版本进行操作。 2.进行merge 1.选择“merge changes” image.png 2.选择对应的要merge的版本 image.png 3.记得PUSH代码 0人点赞 IDEA git使用 作者&#xff1a;了凡_850…

在Linux上编译dotnet cli的源代码生成.NET Core SDK的安装包

.NET 的开源&#xff0c;有了更多的DIY乐趣。这篇博文记录一下在新安装的 Linux Ubuntu 14.04 上通过自己动手编译 dotnet cli 的源代码生成 .net core sdk 的 deb 安装包。 1&#xff09;安装一个现有版本的 .net core sdk sudo sh -c echo "deb [archamd64] https://apt…

android菱形imageview,ios – 在UICollectionView中,UIImageView应该是圆形视图而不是菱形...

我有UICollectionView和UIImageView(如图所示).我想把它作为圆形视图.但是,当我运行应用程序时,它显示为菱形(下图).在(UICollectionViewCell *)collectionView&#xff1a;(UICollectionView *)collectionView中cellForItemAtIndexPath&#xff1a;(NSIndexPath *)indexPath {…

Java多线程-BlockingQueue-ArrayBlockingQueue-LinkedBlockingQueue

转载自 Java多线程-BlockingQueue-ArrayBlockingQueue-LinkedBlockingQueue 前言&#xff1a; BlockingQueue很好的解决了多线程中&#xff0c;如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类&#xff0c;为我们快速搭建高质量的多线程程序带来极大的便利…

定时任务---SpringBoot

定时任务 项目开发中经常需要执行一些定时任务&#xff0c;比如需要在每天凌晨的时候&#xff0c;分析一次前一天的日志信息&#xff0c;Spring为我们提供了异步执行任务调度的方式&#xff0c;提供了两个接口。 TaskExecutor接口 任务执行TaskScheduler接口 任务调度 两个注…

java实现遍历树形菜单方法——设计思路【含源代码】

开发工具&#xff1a;MyEclipse 10 后台框架&#xff1a;Hibernate Struts2 数据库&#xff1a;Oracle 11g 前台框架&#xff1a;EasyUi 浏览器&#xff1a;谷歌 在开发中我们经常会遇到左边是树形菜单&#xff0c;右边是一个显示列表&#xff0c;单击左边的树形菜单项时&…

软件工程技术的未来

“云、架构即代码、具有API和反脆弱系统的联邦架构&#xff0c;这些软件系统开发技术正迅速成为关注焦点”。这是Mary Poppendieck在GOTO Berlin 2016大会上做“软件工程技术的未来”演讲时所提出的。 当数据量大到无法被单机所管理时&#xff0c;有两个解决方案&#xff0c;即…