当前位置:  编程技术>java/j2ee

Java实现验证码具体代码

    来源: 互联网  发布时间:2014-10-30

    本文导语:  这里实现我使用到了struts2模拟一个登录功能来验证java实现的验证码功能。 Java实现验证码的步骤: 1、创建RandomImageGenerator.java类,该类实现验证码图片的生成 2、创建一个servlet类,RandomImageServlet.java,将生成的验证码输出到页...

这里实现我使用到了struts2模拟一个登录功能来验证java实现的验证码功能。

Java实现验证码的步骤:

1、创建RandomImageGenerator.java类,该类实现验证码图片的生成

2、创建一个servlet类,RandomImageServlet.java,将生成的验证码输出到页面

3、创建一个Action类,LoginAction.java,控制登录

4、配置struts.xml一个web.xml文件

5、编写页面

具体实现用代码表达

1、创建RandomImageGenerator.java类

代码如下:

package com.tenghu.code;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Random;
import javax.imageio.ImageIO;

/**
 * 验证码生成类
 * @author xiaohu
 *
 */
public class RandomImageGenerator {
 //创建Random对象
 static Random random=new Random();
 //随机生成包含验证码字符串
 public static String random(int num){
  //初始化种子
  String[] str={"0","1","2","3","4","5","6","7","8","9",
       "a","b","c","d","e","f","g","h","i","j",
       "k","l","m","n","p","q","r","s","t"};
  int number=str.length;
  //接收随机字符
  String text = "";
  //随机产生4个字符的字符串
  for(int i=0;i
   
    text/html
    result
   
  
 

代码如下:



 
    This is the description of my J2EE component
    This is the display name of my J2EE component
    RandomImageServlet
    com.tenghu.code.servlet.RandomImageServlet
   
   
     width
     130
   
   
   
     height
     40
   
   
   
     num
     4
   
 

 
    RandomImageServlet
    /verification.do
 
 
 
   struts2
   org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
 
 
   struts2
   /*
 
 
    index.jsp
 

5、编写测试页面

代码如下:




 
   

    My JSP 'index.jsp' starting page
 
 
 
  $(document).ready(function(){
   CODE.initCode();
   //验证输入
   function checkInput(){
    if($('#userName').val()==''){
     alert('用户名不能为空!');
     return false;
    }
    if($('#password').val()==''){
     alert('密码不能为空!');
     return false;
    }
    if($('#code').val()==''){
     alert('验证码不能为空!');
     return false;
    }
    return true;
   }

   //点击按钮
   $('#btn').click(function(){
    if(checkInput()==true){
     $('#login_request').ajaxSubmit({
      url:'login!testLogin',
      cache:false,
      type:'POST',
      success:function(data){
       if(data==0){
        alert('验证码错误!');
        //改变验证码
        CODE.initCode();
       }else if(data==1){
        alert('登录成功!');
        //提交到登录成功页面
        $('#login_request')[0].submit();
       }else if(data==2){
        alert('用户名或密码错误!');
        //改变验证码
        CODE.initCode();
       }
      },
      error:function(e){
       alert('出错了!');
      }
     });
     }
   });
  });
  var CODE={
    //初始化化验证码
    initCode:function(){
     $("#code_img").attr("src","verification.do?rmd="+new Date().getTime())//如果需要点击图片改变图片的内容,则必须添加时间搓
     .click(function(){
      $(this).attr("src","verification.do?rmd="+new Date().getTime());
     }); 
    }};
 
 

 
   
    UserName:

    Password:

    Verification_Code:

    
   
 

成功页面就部贴出来了,就是一段文字而已
显示结果:


    
 
 

您可能感兴趣的文章:

  • Java Web层验证框架 AuthenticRoast
  • Java验证码生成库 JCaptcha
  • Java表单验证框架 jReform
  • java正则表达式表单验证类工具类(验证邮箱、手机号码、qq号码等)
  • Java验证码 patchca
  • Java验证码生成库 imageRandom
  • Java验证码 kaptcha
  • java验证电话号码的方法
  • Java 验证码 Cage
  • JAVA能否验证Windows2000域用户身份?
  • Java验证码库 iCaptcha
  • Java的OAuth解析和验证包 joauth
  • Java邮箱地址验证 jaev
  • java正则表达式验证函数
  • 验证你的java水平
  • java正则表达式验证邮箱、电话号码示例
  • Java图形验证码 SimpleCaptcha
  • Java对象验证框架 OVal
  • java对象初始化顺序验证示例
  • JAVA 时间区间的字符串合法性验证
  • java操作excel2007文档介绍及代码例子
  • 寻找<<java2图形设计卷2SWING>>一书源代码和<<java网络高级编程>>一书源代码
  • java实现判断字符串是否全是数字的四种方法代码举例
  • 怎样将标准的C++代码转换成JAVA代码??
  • java Servlet获取和设置cookie实例代码
  • 哪位会使用代码保护工具WingGuard来保护java代码?
  • andriod下java socket网络编程:java socket客户端服务端代码示例
  • Java代码分享工具 Java Gems
  • java Servlet实现Session创建存取以及url重写代码示例
  • 各路JAVA高手们,能否给我一个用JAVA写的简单聊天室代码?
  • java正则表达式表单验证类工具类(验证邮箱、手机号码、qq号码等) iis7站长之家
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 使用java jdk中的LinkedHashMap实现简单的LRU算法
  • java.util.Date 和 java.slq.Date 如何最简单实现互换?
  • java tomcat实现Session对象的持久化原理及配置方法介绍
  • 不太明白,利用RMI实现JAVA分布式应用 和 EJB实现JAVA分布式应用有什么区别。
  • java序列化实现Serializable接口
  • java的API中有没有既实现了Map接口又实现了List接口的类?
  • java中Spring框架介绍及如何实现对Bean的管理
  • 我是java新手,请问java中与平台相关的操作是怎样实现的
  • 要做一个在applet,实现可以托拽的图形(比如长方形和线段等)?那位高手有资料?或者有没有java的第三方类库实现此功能?
  • java 与 C++ 实现后绑定的方法
  • XUL的Java实现 javaXUL
  • 用JAVA实现与QQ相同的功能!
  • 请问《软件工程java语言实现》一书在那里能下载
  • 如何实现Java下的回调函数!
  • Java实现的XForms Chiba
  • Java的SAMBA客户端实现 jCIFS
  • Lua 实现的 Java 虚拟机 luje
  • yaml 的 java 实现 JYaml
  • java中如何实现打印功能
  • 关于JAVA反射实现的问题
  • Java的CMIS实现 xCMIS
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 本人想学java,请问java程序员的待遇如何,和java主要有几个比较强的方向


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3