码迷,mamicode.com
首页 > 其他好文 > 详细

关于Captcha验证码组件的使用

时间:2015-04-12 09:24:09      阅读:239      评论:0      收藏:0      [点我收藏+]

标签:jsp   登陆验证   验证码   

Captcha.jar的下载:

    http://pan.baidu.com/s/1waXbg 提取码:h216

Captcha的部署:

把captcha的jar引入到项目;
在web.xml中配置
<servlet>
		<servlet-name>Kaptcha</servlet-name>
		<servlet-class>
			com.google.code.kaptcha.servlet.KaptchaServlet
		</servlet-class>
</servlet>

  <servlet-mapping>
    <servlet-name>Kaptcha</servlet-name>
    <url-pattern>/randomcode.jpg</url-pattern>
  </servlet-mapping>
 

web.xml文件的详细配置:

<!-- 登陆验证码Kaptcha 2-->
	<servlet>
		<servlet-name>Kaptcha</servlet-name>
		<servlet-class>
			com.google.code.kaptcha.servlet.KaptchaServlet
		</servlet-class>
		<init-param>
			<description>图片边框,合法值:yes , no</description>
			<param-name>kaptcha.border</param-name>
			<param-value>yes</param-value>
		</init-param>
		<init-param>
			<description>
				边框颜色,合法值: r,g,b (and optional alpha) 或者
				white,black,blue.
			</description>
			<param-name>kaptcha.border.color</param-name>
			<param-value>black</param-value>
		</init-param>
		<init-param>
			<description>边框厚度,合法值:>0</description>
			<param-name>kaptcha.border.thickness</param-name>
			<param-value>1</param-value>
		</init-param>
		<init-param>
			<description>图片宽 400</description>
			<param-name>kaptcha.image.width</param-name>
			<param-value>200</param-value>
		</init-param>
		<init-param>
			<description>图片高 50</description>
			<param-name>kaptcha.image.height</param-name>
			<param-value>50</param-value>
		</init-param>
		<init-param>
			<description>图片实现类</description>
			<param-name>kaptcha.producer.impl</param-name>
			<param-value>
				com.google.code.kaptcha.impl.DefaultKaptcha
			</param-value>
		</init-param>
		<init-param>
			<description>文本实现类</description>
			<param-name>kaptcha.textproducer.impl</param-name>
			<param-value>
				com.google.code.kaptcha.text.impl.DefaultTextCreator
			</param-value>
		</init-param>
		<init-param>
			<description>文本集合,验证码值从此集合中获取</description>
			<param-name>kaptcha.textproducer.char.string</param-name>
			<param-value>1234567890</param-value>
			  <!--<param-value>abcde2345678gfynmnpwx</param-value>-->
			<!--<param-value>慕课网教程验证码实例</param-value> -->
		</init-param>
		<init-param>
			<description>验证码长度 5</description>
			<param-name>kaptcha.textproducer.char.length</param-name>
			<param-value>4</param-value>
		</init-param>
		<init-param>
			<description>字体 Arial, Courier</description>
			<param-name>kaptcha.textproducer.font.names</param-name>
			<param-value>Arial, Courier</param-value>
		</init-param>
		<init-param>
			<description>字体大小 40px.</description>
			<param-name>kaptcha.textproducer.font.size</param-name>
			<param-value>40</param-value>
		</init-param>
		<init-param>
			<description>
				字体颜色,合法值: r,g,b 或者 white,black,blue.
			</description>
			<param-name>kaptcha.textproducer.font.color</param-name>
			<param-value>black</param-value>
		</init-param>
		<init-param>
			<description>文字间隔 2</description>
			<param-name>kaptcha.textproducer.char.space</param-name>
			<param-value>2</param-value>
		</init-param>
		<init-param>
			<description>干扰实现类</description>
			<param-name>kaptcha.noise.impl</param-name>
			<param-value>
				<!-- com.google.code.kaptcha.impl.NoNoise -->
				com.google.code.kaptcha.impl.DefaultNoise
			</param-value>
		</init-param>
		<init-param>
			<description>
				干扰颜色,合法值: r,g,b 或者 white,black,blue.
			</description>
			<param-name>kaptcha.noise.color</param-name>
			<param-value>white</param-value>
		</init-param>
		<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.FishEyeGimpy
			</param-value>
		</init-param>
		<init-param>
			<description>背景实现类</description>
			<param-name>kaptcha.background.impl</param-name>
			<param-value>
				com.google.code.kaptcha.impl.DefaultBackground
			</param-value>
		</init-param>
		<init-param>
			<description>背景颜色渐变,开始颜色</description>
			<param-name>kaptcha.background.clear.from</param-name>
			<param-value>green</param-value>
		</init-param>
		<init-param>
			<description>背景颜色渐变,结束颜色</description>
			<param-name>kaptcha.background.clear.to</param-name>
			<param-value>white</param-value>
		</init-param>
		<init-param>
			<description>文字渲染器</description>
			<param-name>kaptcha.word.impl</param-name>
			<param-value>
				com.google.code.kaptcha.text.impl.DefaultWordRenderer
			</param-value>
		</init-param>
		<init-param>
			<description>
				session中存放验证码的key键
			</description>
			<param-name>kaptcha.session.key</param-name>
			<param-value>KAPTCHA_SESSION_KEY</param-value>
		</init-param>
		<init-param>
			<description>
				The date the kaptcha is generated is put into the
				HttpSession. This is the key value for that item in the
				session.
			</description>
			<param-name>kaptcha.session.date</param-name>
			<param-value>KAPTCHA_SESSION_DATE</param-value>
		</init-param>
	</servlet>

  <servlet-mapping>
    <servlet-name>Kaptcha</servlet-name>
    <url-pattern>/randomcode.jpg</url-pattern>
  </servlet-mapping>

 

示例:

    前端:

<body>
      <form action="check.jsp">
      
      <input type="text" name="code">
    <img src='<%=request.getContextPath()%>/randomcode.jpg'>    <br>
    <input type="submit" value="提交">
      
      </form>
     
  </body>

对于验证:check.jsp

<body>
      <%
        String key=(String)session.getAttribute(Constants.KAPTCHA_SESSION_KEY);
        String code=request.getParameter("code");
        if(key.equals(code)){
        	out.print("true");
        }
        out.print("key="+key+"-----"+"code="+code);        
      
      
      %>
  </body>


提升:

在本博客查看:算法验证码、中文验证码





关于Captcha验证码组件的使用

标签:jsp   登陆验证   验证码   

原文地址:http://blog.csdn.net/u011707402/article/details/44997219

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!