3、在表单中显示验证码并使用 4、在服务器获取谷歌生成的验证码和客户端发送过来的验证码相比较KaptchaServlet com.google.code.kaptcha.servlet.KaptchaServlet KaptchaServlet /Kaptcha.jpg
//获取Session中的验证码
String token = (String) req.getSession().getAttribute(KAPTCHA_SESSION_KEY);
//删除Session中的验证码
req.getSession().removeAttribute(KAPTCHA_SESSION_KEY);
//2、检查验证码是否正确
if (token != null && token.equalsIgnoreCase(code)) {
if (userService.existsUsername(username)) {
//用户名不可用
req.setAttribute("msg", "用户名已存在!");
req.getRequestDispatcher("regist.jsp").forward(req, resp);
} else {
//可用
//保存在数据库
userService.registerUser(new User(null, username, password, email));
//跳转到注册登录页面
req.getRequestDispatcher("login.jsp").forward(req, resp);
}
5、点击验证码图片会切换验证码
为图片绑定单击事件
+new Date()为了跳过服务器的缓存,(因为为了速度,浏览器每次会将请求缓存到浏览器端)这样使得每次得请求不同



