十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
如果用java代码写的话,也就和你在网上搜到的js的源代码没什么两样。就是说如果你要想知道怎么处理的话。你可以看看那拦截器的源代码。可以给你思路,不用JS的话。验证不好即时刷新,用户体验不好。你想你填了个用户名,要等到页面刷新到后台,用户体验不好。非要写的话,只能用servlet或者action把填写的信息传入后台进行处理,再将验证结果返回给页面,至于类型这些要用正则表达式来判断。
创新互联建站是一家从事企业网站建设、成都做网站、网站建设、行业门户网站建设、网页设计制作的专业网站建设公司,拥有经验丰富的网站建设工程师和网页设计人员,具备各种规模与类型网站建设的实力,在网站建设领域树立了自己独特的设计风格。自公司成立以来曾独立设计制作的站点上1000+。
简单点,就是保存在缓存里面 ,new 一个map 放在里面就是了。校验的话直接和map里面的去比。
public class aaa {
public static MapString, String map = new HashMapString, String();// 定义一个静态map,放验证码
// 比如这个是生成验证码
public String CreateCheckCode(String name) {
String checkCode = "";
String[] arrs = { "a", "b", "c", "d", "e", "f", "g", "h", "i", "j",
"k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v",
"w", "x", "y", "z", "A", "B" };
// 随机生成验证码、
for (int i = 0; i 6; i++) {
int a = (int) (Math.random() * 28);
checkCode += arrs[a];
}
//为了保证唯一性质,我们可以使用 注册的客户的名字作为key
map.put(name, checkCode);
System.out.println(checkCode);
return checkCode;
}
//这个可以作为控制层:比如客户点击验证的连接,就会进入这个方法:来验证验证码
public boolean verifyCheckCode(String name,String checkCode)
{
boolean flag=false;
String code=map.get(name);
if(null!=code code.equals(checkCode)){
flag=true;
}
return flag;
}
}
在后台生成验证码图片的同时在session里保存验证码实际值,然后在用户提交后,取session里的验证码与提交的数据比较。注意:在比较过后要马上删除验证码实际值,即session.removeAttribute(xxx);