验证码的制作和验证(二)
方法二:使用Kaptcha包实现验证码
1.下载kaptcha-2.3.2.jar,http://download.csdn.net/download/huhongyu133/5040473
2.新建项目,将包加到lib里面(如图)

3.修改web.xml
1 <servlet> 2 <servlet-name>kaptcha</servlet-name> 3 <servlet-class>com.google.code.kaptcha.servlet.KaptchaServlet</servlet-class> 4 </servlet> 5 <servlet-mapping> 6 <servlet-name>kaptcha</servlet-name> 7 <url-pattern>/randomcode.jpg</url-pattern> 8 </servlet-mapping>
4.index.jsp如下
1 <body> 2 <form action="check.jsp" method="get"> 3 <img src='randomcode.jpg'> 4 <input type="text" name="r"/> 5 <input type="button" value="提交"> 6 </form> 7 </body>
效果:

5.验证(check.jsp)
1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> 2 <% 3 //检查验证码是否正确 4 String k=(String)session.getAttribute(com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY); 5 String str=request.getParameter("r"); 6 if(k.equals(str)) 7 out.print("true "); 8 out.print(k+"---"+str); 9 %>
6.验证码的其他配置(在web.xml里面修改,加在<servlet-class>后面,<servlet>里面,只需修改<param-value>里的值即可)
1 <init-param> 2 <description>图片边框,合法值:yes,no,默认值:yes</description> 3 <param-name>kaptcha.border</param-name> 4 <param-value>yes</param-value> 5 </init-param> 6 <init-param> 7 <description>边框颜色,合法值:white,black,blue等,默认值:black</description> 8 <param-name>kaptcha.border.color</param-name> 9 <param-value>blue</param-value> 10 </init-param> 11 <init-param> 12 <description>边框厚度,合法值:>0,默认值:1</description> 13 <param-name>kaptcha.border.thickness</param-name> 14 <param-value>3</param-value> 15 </init-param> 16 <init-param> 17 <description>图片宽度</description> 18 <param-name>kaptcha.image.width</param-name> 19 <param-value>300</param-value> 20 </init-param> 21 <init-param> 22 <description>图片高度</description> 23 <param-name>kaptcha.image.height</param-name> 24 <param-value>100</param-value> 25 </init-param> 26 <init-param> 27 <description>图片实现类</description> 28 <param-name>kaptcha.producer.impl</param-name> 29 <param-value>com.google.code.kaptcha.impl.DefaultKaptcha</param-value> 30 </init-param> 31 <init-param> 32 <description>文本实现类</description> 33 <param-name>kaptcha.textproducer.impl</param-name> 34 <param-value>com.google.code.kaptcha.text.impl.DefaultTextCreator</param-value> 35 </init-param> 36 <init-param> 37 <description>文本集合,验证码值从此集合中获取</description> 38 <param-name>kaptcha.textproducer.char.string</param-name> 39 <param-value>#$%^^2154563ksvdjmks</param-value> 40 </init-param> 41 <init-param> 42 <description>验证码长度,默认:5</description> 43 <param-name>kaptcha.textproducer.char.length</param-name> 44 <param-value>7</param-value> 45 </init-param> 46 <init-param> 47 <description>字体,默认:Arail,Courier</description> 48 <param-name>kaptcha.textproducer.font.names</param-name> 49 <param-value>华文行楷</param-value> 50 </init-param> 51 <init-param> 52 <description>字体大小,默认40px</description> 53 <param-name>kaptcha.textproducer.font.size</param-name> 54 <param-value>50</param-value> 55 </init-param> 56 <init-param> 57 <description>字体颜色,合法值:white,black,blue等,默认:black</description> 58 <param-name>kaptcha.textproducer.font.color</param-name> 59 <param-value>blue</param-value> 60 </init-param> 61 <init-param> 62 <description>文字间隔</description> 63 <param-name>kaptcha.textproducer.char.space</param-name> 64 <param-value>5</param-value> 65 </init-param> 66 <init-param> 67 <description>干扰实现类</description> 68 <param-name>kaptcha.noise.impl</param-name> 69 <param-value>com.google.code.kaptcha.impl.DefaultNoise</param-value> 70 </init-param> 71 <init-param> 72 <description>干扰颜色,合法值:white,black,blue等,默认:black</description> 73 <param-name>kaptcha.noise.color</param-name> 74 <param-value>blue</param-value> 75 </init-param> 76 <init-param> 77 <description>图片样式:水纹(WaterRipple),鱼眼(FishEyeGimpy),阴影(ShadowGimpy),默认:水纹</description> 78 <param-name>kaptcha.obscurificator.impl</param-name> 79 <param-value>com.google.code.kaptcha.impl.ShadowGimpy</param-value> 80 </init-param> 81 <init-param> 82 <description>背景实现类</description> 83 <param-name>kaptcha.background.impl</param-name> 84 <param-value>com.google.code.kaptcha.impl.DefaultBackground</param-value> 85 </init-param> 86 <init-param> 87 <description>背景颜色渐变,开始颜色,默认:黑色</description> 88 <param-name>kaptcha.background.clear.from</param-name> 89 <param-value>green</param-value> 90 </init-param> 91 <init-param> 92 <description>背景颜色渐变,结束颜色,默认:白色</description> 93 <param-name>kaptcha.background.clear.to</param-name> 94 <param-value>white</param-value> 95 </init-param> 96 <init-param> 97 <description>文字渲染器</description> 98 <param-name>kaptcha.word.impl</param-name> 99 <param-value>com.google.code.kaptcha.text.impl.DefaultWordRenderer</param-value> 100 </init-param> 101 <init-param> 102 <description>session中存放验证码的key键,check.jsp中调用的key名称</description> 103 <param-name>kaptcha.session.key</param-name> 104 <param-value>KAPTCHA_SESSION_KEY</param-value> 105 </init-param>
--未完待续--
**注:学习自慕课网《Java实现验证码制作》,附链接https://www.imooc.com/learn/283

浙公网安备 33010602011771号