验证码与session的困扰

l_dongdong l_dongdong 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
已知: index.jsp(注册页面) Checkfunction.js(一些验证方法,里面判断用户输入是否合法,比如长度之类的,前台验证)

想要实现: 验证码在注册页面用户输入后,我现在的Checkfunction.js只是判断了验证码输入的长度是否是四位,不能为空等,

如果我想要实现验证码的校验对错,(验证码“VerifyCode”在生成时已经存入session)

想象中的办法: 1、在JSP页面用
<script type="text/javascript">
var verifyCode = "<%=session.getAttribute("verifyCode")%>";
</script>
取出verifyCode ,
然后在<span>验证码:</span> <input name="number" type="text" onBlur="checkFunction('number')" /><input type="hidden" id="verifyCode" vauel="VerifyCode">隐式的赋值给 id="verifyCode" 的input。供Checkfunction.js里面的方法调用(此处我已经用 onBlur="checkFunction('number')" 实现了一个判断,这个判断是对验证码输入长度的判断)
然后在Checkfunction.js中
function checkFunction(type){
var number=document.form1.number.value;
var verifyCode=document.getElementById("verifyCode").value;
if(verifyCode!=number){
err_alert('number',' 验证码不正确');
alert(verifyCode);
return false;
}

else
{
err_alert('number','');
}
}
function err_alert(id,err)
{

document.getElementById(id+'_id').innerHTML=err;
}
以上是我的第一种方法,呵呵,结果不用说,是失败的,里面有哪些错误,请各位赐教!!
2、用DWR(AJAX不会用,不过DWR也不熟,就是套用以前的代码)

这个我写了一半就写不下去了,因为我首先要取得session里面的verifyCode,我只知道用
HttpSession session = request.getSession(true);
String verifyCode=(String) session.getAttribute("verifyCode");来取得session里面verifyCode的值,但是这要在servlet里面才可以用request,在其他的类里面也要继承httpservlet,导包,还是一样的,这种办法返回值都是void,我需要这个类返回一个int或者Boolean,然后才能用JS里面来判断,
我也尝试在servlet里面写个新的方法,但是写一点就没思路了,新方法里面还要用request的,request在里面只有用在doget、dopost才不会报错。
所以这方法我也迷茫了。还是要请各位指点!我才接触JAVA相当菜,还请各位不要笑话。感谢!!

我还想请问下,是不是我以上的两种思路都可以实现?请各位对我的思路点评下,感谢!!!!!!(有朋友对我说这里可以用上下文context,我也不是很理解,跟这个有关系吗)
...全文

相关推荐

评论 8
收藏 已收藏
分享
返回顶部
l_dongdong
Web 开发 81,108 成员 341,721 内容