session验证码不一致[不同步]【问题解决】(

本文探讨了使用JavaBean和Servlet实现图像验证码的过程,并解决了登录页面验证码与session中存储的验证码不同步的问题。通过在servlet中进行验证码的校验,确保了用户输入的验证码与系统生成的验证码的一致性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

上篇博文里主要用javabean,servlet实现图像验证码!

但是,在login.jsp中,总是发现验证码于存在session中的不一致,慢了一拍,不同步

其实

我们忽略了一个问题,三层架构中,验证码的校验不是在显示页面login.jsp

真正的校验是在服务器端,表单提交后验证的~~~~~

 

在接收信息的servlet中,我们设置校验测试

  request.setCharacterEncoding("gbk");
  HttpSession session=request.getSession(true);
  String certCode=(String)session.getAttribute("certCode") ; //得到生成图片时的servlet
  String code=request.getParameter("code");//得到用户提交的验证码
  try{
  if(!certCode.equals(code))//比对
   request.getRequestDispatcher("Message.jsp?msg=验证码错误").forward(request, response);
  }catch(Exception e)
  {
   e.printStackTrace();
  }

 

另:关于验证码的刷新补充在上一篇中

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值