第一种方法:
在xxxControl 控制器下面新建返回验证码的方法:
public void captcha() {
renderCaptcha();
}
在前台页面中这样调用:
<img title="点击刷新" class="captcha" src="/login/captcha" onclick="updateCaptcha();">
<script>
function updateCaptcha() {
$(".captcha").attr("src", "/login/captcha?v=" + Math.random());
$("#captchaInput").val("");
}
</script>
后台验证验证码是否正确:
boolean result = validateCaptcha("inputRandomCode");//inputRandomCode是用户提交过来的验证码
显示效果:
第二种方法,自己新建一个类来实现:
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.security.MessageDigest;
import java.util.Random;
import javax.imageio.ImageIO;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.Cookie;
import com.jfinal.core.Controller;
import com.jfinal.kit.StrKit;
import com.jfinal.render.Render;
/**
* @Author www.hiai.top
* @Email goodsking@163.com
* 图形验证类
*/
public class MyCaptchaRender extends Render{
@SuppressWarnings("unused")
private static final long serialVersionUID = -7599510915228560611L;
private static final St