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

简介: 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的方法,当鼠标离开输入验证码的文本框时,进行验证是否输入正确!!

目录
相关文章
|
15天前
|
Java
学院管理系统【JSP+Servlet+JavaBean】(Java课设)
学院管理系统【JSP+Servlet+JavaBean】(Java课设)
34 3
学院管理系统【JSP+Servlet+JavaBean】(Java课设)
|
15天前
|
Java
排课系统【JSP+Servlet+JavaBean】(Java课设)
排课系统【JSP+Servlet+JavaBean】(Java课设)
29 5
|
15天前
|
Java
仓库管理系统【JSP+Servlet+JavaBean】(Java课设)
仓库管理系统【JSP+Servlet+JavaBean】(Java课设)
21 1
|
15天前
|
Java
学校教师管理系统【JSP+Servlet+JavaBean】(Java课设)
学校教师管理系统【JSP+Servlet+JavaBean】(Java课设)
24 2
|
5天前
|
Java
JAVA生产随机生成验证码
Java代码实现随机生成指定位数的数字、大小写字母混合的验证码。使用`Random`类生成类型(0-数字,1-大写字母,2-小写字母),然后根据类型转换为相应字符。示例代码展示了一个4位验证码的生成,并附有实现结果图和过程分析。
23 2
|
12天前
|
前端开发 JavaScript Java
Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)五(前端页面
Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)五(前端页面
Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)五(前端页面
|
13天前
|
JavaScript Java 测试技术
《手把手教你》系列技巧篇(四十六)-java+ selenium自动化测试-web页面定位toast-下篇(详解教程)
【5月更文挑战第10天】本文介绍了使用Java和Selenium进行Web自动化测试的实践,以安居客网站为例。最后,提到了在浏览器开发者工具中调试和观察页面元素的方法。
28 2
|
13天前
|
Web App开发 JavaScript 测试技术
《手把手教你》系列技巧篇(四十五)-java+ selenium自动化测试-web页面定位toast-上篇(详解教程)
【5月更文挑战第9天】本文介绍了在Appium中处理App自动化测试中遇到的Toast元素定位的方法。Toast在Web UI测试中也常见,通常作为轻量级反馈短暂显示。文章提供了两种定位Toast元素的技巧.
21 0
|
15天前
|
安全 Java 数据安全/隐私保护
Java一分钟之-Java反射机制:动态操作类与对象
【5月更文挑战第12天】本文介绍了Java反射机制的基本用法,包括获取Class对象、创建对象、访问字段和调用方法。同时,讨论了常见的问题和易错点,如忽略访问权限检查、未捕获异常以及性能损耗,并提供了相应的避免策略。理解反射的工作原理和合理使用有助于提升代码灵活性,但需注意其带来的安全风险和性能影响。
31 4
|
15天前
|
Java
校园帮【JSP+Servlet+JavaBean】(Java课设)
校园帮【JSP+Servlet+JavaBean】(Java课设)
18 1