博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Maven(五):Kaptcha的简单小例(一)
阅读量:6890 次
发布时间:2019-06-27

本文共 8688 字,大约阅读时间需要 28 分钟。

  hot3.png

        以前没看到过Kaptcha这种东东, 更别说拿来用了,虽然也不知道怎么样,在看完Maven教程的时候,有提到kaptcha这种生成验证码的第三方库,于是好奇会是神马样子,在加之Maven,小白的我拿来先用用吧 。。。。

        不过可怜的我 ,刚接触Maven  甚至是第一次接触Kaptcha,连Maven中的那些文件, 包结构都跟以前看到的不一样 ,然后有点各种懵  。。。。懵。。。懵。。。  ( 附上源码 :  )

  1. 先看看有点乱的包结构:

    173301_6njK_2405367.jpg

     2.  pom.xml:

4.0.0
com.yc.ssm
SSM_001
war
0.0.1-SNAPSHOT
SSM_001 Maven Webapp
http://maven.apache.org
junit
junit
4.12
test
log4j
log4j
1.2.17
org.apache.logging.log4j
log4j-core
2.1
org.mybatis
mybatis
3.3.0
com.oracle
oracle-driver
11g
org.apache.struts
struts2-core
2.5-BETA2
com.google.code
kaptcha
2.3.2
org.apache.struts
struts2-json-plugin
2.3.24
SSM_001

    然后拿到了一堆包:

        175824_osKb_2405367.jpg

        3.之前就写过,想使用kaptcha生成验证码,只需要在web.xml中配置 :

            来看看web.xml:

  
        
struts2
        
org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
    
    
        
struts2
        
/*
    
    
    
        
Kaptcha
        
          com.google.code.kaptcha.servlet.KaptchaServlet        
        
            
图片边框,合法值:yes , no
            
kaptcha.border
            
yes
        
        
            
                边框颜色,合法值: r,g,b (and optional alpha) 或者                white,black,blue.            
            
kaptcha.border.color
            
black
        
        
            
边框厚度,合法值:>0
            
kaptcha.border.thickness
            
1
        
        
            
图片宽 160
            
kaptcha.image.width
            
180
        
        
            
图片高 32
            
kaptcha.image.height
            
50
        
        
            
图片实现类
            
kaptcha.producer.impl
            
                com.google.code.kaptcha.impl.DefaultKaptcha            
        
        
            
文本实现类
            
kaptcha.textproducer.impl
            
                com.google.code.kaptcha.text.impl.DefaultTextCreator            
        
        
            
文本集合,验证码值从此集合中获取
            
kaptcha.textproducer.char.string
            
1234567890abcdefghijklmnopqrstuvwxyz
        
        
            
验证码长度 5
            
kaptcha.textproducer.char.length
            
4
        
        
            
字体 Arial, Courier
            
kaptcha.textproducer.font.names
            
Arial, Courier
        
        
            
字体大小 40px.
            
kaptcha.textproducer.font.size
            
32
        
        
            
                字体颜色,合法值: r,g,b 或者 white,black,blue.            
            
kaptcha.textproducer.font.color
            
black
        
        
            
文字间隔 2
            
kaptcha.textproducer.char.space
            
2
        
        
            
干扰实现类
            
kaptcha.noise.impl
            
                 com.google.code.kaptcha.impl.NoNoise                
             
        
        
            
                干扰颜色,合法值: r,g,b 或者 white,black,blue.            
            
kaptcha.noise.color
            
black
        
        
            
                图片样式: 水纹com.google.code.kaptcha.impl.WaterRipple                鱼眼com.google.code.kaptcha.impl.FishEyeGimpy                阴影com.google.code.kaptcha.impl.ShadowGimpy            
            
kaptcha.obscurificator.impl
            
                com.google.code.kaptcha.impl.WaterRipple            
        
        
            
背景实现类
            
kaptcha.background.impl
            
                com.google.code.kaptcha.impl.DefaultBackground            
        
        
            
背景颜色渐变,开始颜色
            
kaptcha.background.clear.from
            
green
        
        
            
背景颜色渐变,结束颜色
            
kaptcha.background.clear.to
            
white
        
        
            
文字渲染器
            
kaptcha.word.impl
            
                com.google.code.kaptcha.text.impl.DefaultWordRenderer            
        
        
            
                session中存放验证码的key键            
            
kaptcha.session.key
            
KAPTCHA_SESSION_KEY
        
        
            
                The date the kaptcha is generated is put into the                HttpSession. This is the key value for that item in the                session.            
            
kaptcha.session.date
            
KAPTCHA_SESSION_DATE
        
    
        
        
Kaptcha
        
/randomcode.jpg
    
         
        
index.jsp
    
  

    需注意几处地方:

180405_GNl5_2405367.jpg

180405_xBYN_2405367.jpg   180453_Vs6X_2405367.jpg

4. 再来看看 struts.xml 中内容:

    
    
    
         
     
        
jsonModel                
                    text/html                                                    

    181110_dcOc_2405367.jpg

5. UserLogin.java:

public class UserLogin implements Serializable {	private static final long serialVersionUID = 1L;	private String uname;	private String pwd;	private String checkCode;  //input code 	private String ackCode;   // img code 		public String getUname() {		return uname;	}	public void setUname(String uname) {		this.uname = uname;	}	public String getPwd() {		return pwd;	}	public void setPwd(String pwd) {		this.pwd = pwd;	}	public String getCheckCode() {		return checkCode;	}	public void setCheckCode(String checkCode) {		this.checkCode = checkCode;	}	public String getAckCode() {		return ackCode;	}	public void setAckCode(String ackCode) {		this.ackCode = ackCode;	}		@Override	public String toString() {		return "UserLogin [uname=" + uname + ", pwd=" + pwd + ", checkCode=" + checkCode + ", ackCode=" + ackCode + "]";	}		public UserLogin(String uname, String pwd, String checkCode, String ackCode) {		super();		this.uname = uname;		this.pwd = pwd;		this.checkCode = checkCode;		this.ackCode = ackCode;	}	public UserLogin() {		super();	}}

                             接下一篇:  《 Kaptcha的简单小例(二)》

转载于:https://my.oschina.net/gently/blog/631765

你可能感兴趣的文章
悟透javascript
查看>>
互相调侃的男女爆笑
查看>>
Objective-c View添加虚线
查看>>
跳槽找工作避坑指南(2019版)
查看>>
我的友情链接
查看>>
解决Windows 7在创建系统映像强制备份D盘(或其他盘)的问题
查看>>
编译安装Centos7.2+Nginx1.12+PHP7.2.10+Mysql5.6.16
查看>>
React Native教程 1:初识React Native,了解index.ios.js里的结构
查看>>
Python - 类(class)的构造器(__init__) 详解 及 代码
查看>>
hadoop wordcount 、wordmean代码阅读与分析
查看>>
我的友情链接
查看>>
空间大小如何划分
查看>>
mybatis的sql 缓存,去除mybatis缓存
查看>>
做一个正能量满满的人
查看>>
jquery制作滑动面板
查看>>
PHP 编译错误及解决办法
查看>>
关于LIUNX的文本编辑器
查看>>
RHEL6 部署 ORACLE 11gR2
查看>>
Android项目使用support v7时遇到的各种问题
查看>>
我的友情链接
查看>>