一 实现步骤 1 下载Kaptcha-2.3.jar 2 复制jar包,放于项目的lib包下 3 编写页面 4 配置web.xml 5 生成与验证简单代码 二 实例 A 编写jsp页面 < body> < form action="LoginAction?method=login"> 这是servlet的写法,使用框架另论 用户名: < input type="text"/> 密码: < input type="text"/> 验证码 < img src='/randomcode.jpg'> 看不清请点击图片刷新 请输入验证码:< input type="text"/> < input type="submit"> < /from> < /body> B 配置 web.xml(使用时可直接复制) < servlet> < servlet-name>Kaptcha< /servlet-name> < servlet-class> com.google.code.kaptcha.servlet.KaptchaServlet< /servlet-class> 更多配置如下(name值不变,value值可替换) a 配置验证码图片是否显示边框 < init-param> < description>图片边框,合法值:yes,no< /description> < param-name>kaptcha.border< /param-name> < param-value>yes< /param-value> < /init-param> b 配置边框颜色 < init-param> < description>边框颜色,合法值:black,white,blue等颜色单词< /description> < param-name>kaptcha.border.color< /param-name> < param-value>black< /param-value> < /init-param> c 配置边框厚度
< init-param>
< description>边框厚度,合法值: >0 < /description>
< param-name>kaptcha.border.thickness< /param-name>
< param-value>1< /param-value>
< /init-param>
d 配置验证码图片宽度
< init-param>
< description>验证码图片宽度,合法值: >0 < /description>
< param-name>kaptcha.image.width< /param-name>
< param-value>200< /param-value>
< /init-param>
e 配置验证码图片高度 < init-param> < description>验证码图片高度,合法值: >0 < /description> < param-name>kaptcha.image.height< /param-name> < param-value>50< /param-value> < /init-param> f 配置图片的实现类 < init-param> < description>图片的实现类< /description> < param-name>kaptcha.producer.impl< /param-name> < param-value>com.google.code.kaptcha.impl.DefaultKaptcha< /param-value> < /init-param> g 配置文本的实现类 < init-param> < description>文本的实现类< /description> < param-name>kaptcha.textproducer.impl< /param-name> < param-value>com.google.code.kaptcha.text.impl.DefaultTextCreator< /param-value> < /init-param> h 配置验证码值包含字母数字配置 < init-param> < description>验证码包含的数据,合法值:字母、数字等< /description> < param-name>kaptcha.textproducer.char.string< /param-name> < param-value>abcde12345ABCDE< /param-value> < /init-param> h 配置验证码位数 < init-param> < description>验证码位数 >0 < /description> < param-name>kaptcha.textproducer.char.length< /param-name> < param-value>5< /param-value> < /init-param> i 配置验证码字体 < init-param> < description>验证码字体(将需要的字体名称写入value,逗号隔开),合法值:Arial,Courier等< /description> < param-name>kaptcha.textproducer.font.names< /param-name> < param-value>Arial,Courier< /param-value> < /init-param> j 配置验证码字体大小 < init-param> < description>验证码字体大小 40px< /description> < param-name>kaptcha.textproducer.font.size< /param-name> < param-value>40< /param-value> < /init-param> k 配置验证码字体颜色 < init-param> < description>验证码颜色,合法值:black,white,blue等< /description> < param-name>kaptcha.textproducer.font.color< /param-name> < param-value>black< /param-value> < /init-param> l 配置验证码间隔 < init-param> < description>验证码数据间隔 2等< /description> < param-name>kaptcha.textproducer.char.space< /param-name> < param-value>2< /param-value> < /init-param> m 配置验证码干扰实现类 < init-param> < description>干扰实现类< /description> < param-name>kaptcha.noise.impl< /param-name> < param-value>com.google.code.kaptcha.impl.DefaultNoise< /param-value> < /init-param> n 配置干扰颜色 < init-param> < description>干扰线颜色,合法值:r,g,b或者white,black,blue< /description> < param-name>kaptcha.noise.color< /param-name> < param-value>black< /param-value> < /init-param> o 配置验证码图片样式 < init-param> < description>验证码图片样式: 水纹 com.google.code.kaptcha.impl.WaterRipple 鱼眼 com.google.code.kaptcha.impl.FishEyeGimpy 阴影 com.google.code.kaptcha.impl.ShadowGimpy < /description> < param-name>kaptcha.obscurificator.impl< /param-name> < param-value>com.google.code.kaptcha.impl.WaterRipple< /param-value> < /init-param> p 配置验证码背景实现类 < init-param> < description>背景实现类< /description> < param-name>kaptcha.background.impl< /param-name> < param-value>com.google.code.kaptcha.impl.DefaultBackground< /param-value> < /init-param> q 验证码在session中存放的key键配置 < init-param> < description>session中存放的key键< /description> < param-name>kaptcha.session.key< /param-name> < param-value>KAPTCHA_SESSION_KEY< /param-value> < /init-param> < /servlet> < servlet-mapping> < servlet-name>Kaptcha< /servlet-name> < url-pattern>/randomcode.jpg< /url-pattern> < !-- 此处为生成的验证码图片 --> < servlet-mapping> C 登录验证 //后台获取生成的验证码: String verify=(String)request.getSession().getAttribute(com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY); //接收用户输入的验证码: String userVerify = request.getParameter("此处是输入验证码的input标签name属性值"); //判断 if(verify.equals(userVerify)){ 开始判断用户名密码是否正确 等操作 }else{ request.setAttribute("verifyError","验证码输入有误!") 返回登录页(getDispatch....或者struts2等) }