首页 > 代码库 > 生成"登录验证码"的方法步骤

生成"登录验证码"的方法步骤

1.添加simplecaptcha架包简单够用的验证码生产库.

2.新增CaptchaModule模块类

public class CaptchaModule {    
    @At
    @Ok("raw:png")    
    public BufferedImage next(HttpSession session, @Param("w") int w,@Param("h") int h) {        
    if (w * h < 1) { //长或宽为0?重置为默认长宽.
            w = 200;
            h = 60;
        }
        Captcha captcha = new Captcha.Builder(w, h)
                                .addText().addBackground(new GradiatedBackgroundProducer())
                                .gimp(new FishEyeGimpyRenderer())
                                .build();
        String text = captcha.getAnswer();
        session.setAttribute(Toolkit.captcha_attr, text);        return captcha.getImage();
    }
}


  • raw代表RawView

  • png是RawView中对image/png的缩写,是数据mime的描述

  • 返回值是BufferedImage,且这是image/png, 所以会转为图片显示. 还支持jpg/webp等格式,详情参考RawView的源码吧.

  • Captcha有N多的组合和配置,自行选择啦

3.在页面中加入验证码文本框

<script type="text/javascript">
            function next_captcha() {
                $("#captcha_img").attr("src", "${base}/captcha/next?_=" + new Date().getTime()); 
            }
        </script>
        验证码<input name="captcha" type="text" value="">
        <img id="captcha_img" onclick="next_captcha();return false;" src="http://www.mamicode.com/${base}/captcha/next"></img>

技术分享技术分享


本文出自 “12403903” 博客,转载请与作者联系!

生成"登录验证码"的方法步骤