使用Google验证码:Kaptcha
1.首先是导入jar包
2.第二步
配置jar包中的KaptchaServlet的路径
<!--配置google的验证码返回一个图片--><servlet><servlet-name>KaptchaServlet</servlet-name><servlet-class>com.google.code.kaptcha.servlet.KaptchaServlet</servlet-class></servlet><servlet-mapping><servlet-name>KaptchaServlet</servlet-name><url-pattern>/pages/Kaptcha.jpg</url-pattern></servlet-mapping>
3.在需要显示验证码的地方调用上一步配置成为jpg格式的servlet(注意路径,配置的Kaptch中K要大写)****
<label>验证码:</label>
<input class="itxt" type="text" name="code" style="width: 100px;" id="code" />
<img alt="" src="Kaptcha.jpg" style="float: right; margin-right: 40px; width: 110px;height: 35px" id="code_img">
此时应该已经显示验证码了;但是我们都知道平常使用的验证码点击就会刷新,因此我们还要通过js或者jquery对其设置点击事件,下面我使用的是jquery
4.为验证码设置点击刷新事件
<script type="text/javascript">// 页面加载完成之后$(function () {$("#code_img").click(function () {//this指的是当前操作的DOM对象,src表示的是验证码图片的路径//alert(this.src);时间戳的目的就是使得每次请求的验证码的请求路径不一样,使得不出现读出缓存的情况this.src="Kaptcha.jpg?d="+new Date();});
这时应该验证码就已经准备好了。接下来就是获取验证码图片中的值
5.找到Constains
这个会话中的key保存的时验证码的值;
通过session中的key取出value,然后再使用的时候传入值与value值相比较就可以了;
//获取session中的验证码的值String token = (String) request.getSession().getAttribute(KAPTCHA_SESSION_KEY);//销毁sessionrequest.getSession().removeAttribute(KAPTCHA_SESSION_KEY);//2.检查验证码是否正确 写死要求验证码时"abcde"if (token!=null && token.equalsIgnoreCase(code)){//验证码正确}else{验证码错误}
以上5步就完成了google验证码的使用;
我也是刚学的小白,如果有什么说的不对的可以直接提出;