zoukankan      html  css  js  c++  java
  • kaptcha Java验证码

    原文:http://www.cnblogs.com/chizizhixin/p/5311619.html

    在项目中经常会使用验证码,kaptcha 就一个非常不错的开源框架,分享下自己在项目中的使用:

    1、首先下载kaptcha 把kaptcha-2.3.2.jar包放在lib下

    2、登陆页面初始化 document.getElementById("mycode").src="${pageContext.request.contextPath}/kaptcha/code?"+Math.random();

    3、@RequestMapping("/kaptcha")
    public class CaptchaController {

        @Autowired private Producer captchProducer;
        
        
        /**
         * 生产验证码方法
         * @param request
         * @param response
         * @return
         * @throws Exception
         */
        @RequestMapping("/code")
        public ModelAndView getKaptchaImage(HttpServletRequest request,HttpServletResponse response) throws Exception {
            HttpSession session = request.getSession();
            //String code = session.getAttribute(Constants.KAPTCHA_SESSION_KEY).toString();//得到验证码
            //System.out.println("******************************验证码是:"+code+"***************************");
            //设置浏览器的请求头
            response.setDateHeader("Expires", 0);
            response.addHeader("Cache-Control", "no-store,no-cache,must-revalidate");
            response.setHeader("Pragma", "no-cache");
            response.setContentType("image/jpeg");
            
            String capText = captchProducer.createText();//创建验证码内容
            session.setAttribute(Constants.KAPTCHA_SESSION_KEY, capText);//将验证码存入到session中
            
            BufferedImage bi = captchProducer.createImage(capText);
            ServletOutputStream out = response.getOutputStream();
            ImageIO.write(bi, "jpg", out);//输出验证码图片
            out.flush();
            out.close();
            return null;
        }

  • 相关阅读:
    [LeetCode] 85. 最大矩形
    [LeetCode] 84. 柱状图中最大的矩形
    [LeetCode] 83. 删除排序链表中的重复元素
    [LeetCode] 81. 搜索旋转排序数组 II
    [LeetCode] 82. 删除排序链表中的重复元素 II
    [LeetCode] 80. 删除排序数组中的重复项 II
    [LeetCode] 79. 单词搜索
    [LeetCode] 77. 组合
    转:快乐Node码农的十个习惯
    转:zookeeper3.4.5安装笔记
  • 原文地址:https://www.cnblogs.com/shihaiming/p/7661943.html
Copyright © 2011-2022 走看看