使用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);
//销毁session
request.getSession().removeAttribute(KAPTCHA_SESSION_KEY);
//2.检查验证码是否正确 写死要求验证码时"abcde"
if (token!=null && token.equalsIgnoreCase(code)){//验证码正确}else{验证码错误}
以上5步就完成了google验证码的使用;
我也是刚学的小白,如果有什么说的不对的可以直接提出;