简单Maven的Web项目之验证码(jcaptcha组件篇)
分类:Maven相关二维码相关
一:JCaptcha简介
jcaptcha是一个开源的用来生成图形验证码的Java开源组件,使用起来也是非常的简单方便。 jcapthca是非常强大的,不光是可以生成图片式的验证码,,还可以生成声音式的(新浪就使用了双重验证码)。 Jcaptcha是CAPTCHA里面的一个比较著名的项目。
二:切换使用JCaptcha生成验证码
1:首先添加需要用到的jar包 注:由于部分jar包maven中央库中没有需要自行添加到本地库,稍后给出jar包的下载地址为 下面是jar包在pom.xml文件中的配置
>commons-collections>>commons-logging>>filters>>jcaptcha-api>>jcaptcha>>jcaptcha-integration-simple-servlet>>servlet-api>provided</scope></dependency>
web.xml文件中servlet的配置,参考下面地址 https://jcaptcha.atlassian.net/wiki/display/general/Simple+Servlet+Integration+documentation
<!DOCTYPE web-app PUBLIC “-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN” “http://java.sun.com/dtd/web-app_2_3.dtd” >>>>/verifyCode/submit.do>>>/jcaptcha.jpg>>
index.jsp页面
<%@ page language=”java” import=”java.util.*” pageEncoding=”UTF-8″%><%String path = request.getContextPath();String basePath = request.getScheme()+”://”+request.getServerName()+”:”+request.getServerPort()+path+”/”;%>>>VerifyCode======><script type=”text/javascript”>var path=”<%=path%>”;$( document ).ready(function() {$(“#codeImg”).on(“click”,function(){$(‘#codeImg’).prop(‘src’,path+’/jcaptcha.jpg?nocache=’+new Date().getTime());});});=====></html>
验证的servlet类
package com.niu.gao;import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.image.BufferedImage;import java.io.IOException;import java.util.Random;import javax.imageio.ImageIO;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.octo.captcha.module.servlet.image.SimpleImageCaptchaServlet;/** * @Description: (验证验证码Servlet)* @author:relieved * @date:2015-7-25 */{/*** serialVersionUID*/serialVersionUID = 1L;(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {String codeValue = req.getParameter(“verifyCode”);boolean checkRs = SimpleImageCaptchaServlet.validateResponse(req, codeValue);resp.setCharacterEncoding(“GBK”);resp.setContentType(“text/html”);resp.getWriter().write(“<html><body>”);if(checkRs){resp.getWriter().write(“验证成功!”);}else{resp.getWriter().write(“验证失败!”);}resp.getWriter().write(“<br/><a href=’javascript:history.go(-1);’>再试一次</a>”);resp.getWriter().write(“</body></html>”);}(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {this.doGet(req, resp);}}
效果图
验证失败图
验证通过图
版权声明:本文为博主原创文章,未经博主允许不得转载。
上一篇简单Maven的Web项目之验证码(普通篇)
顶0踩0
每天告诉自己我很棒!