注册案例[session]

注册功能:保存用户信息到数据库
验证码功能:
展示验证码:展示验证码图片,并可以点击切换
校验验证码:验证码填写不正确,则注册失败

注册案例 -- 校验验证码
判断程序生成的验证码 和 用户输入的验证码 是否一样,如果不一样,则阻止注册
验证码图片访问和提交注册表单是两次请求,所以要将程序生成的验证码存入Session中

 

验证码存入session

1
2
3
4
5
6
7
8
9
10
11
12
@Override
  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
 
      // 生成验证码
      ServletOutputStream os = response.getOutputStream();
      String checkCode = CheckCodeUtil.outputVerifyImage(100, 50, os, 4);
 
      // 存入Session
      HttpSession session = request.getSession();
      session.setAttribute("checkCodeGen",checkCode);
 
  }

 保存表单获取session

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
@Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
       //1. 获取用户名和密码数据
        String username = request.getParameter("username");
        String password = request.getParameter("password");
 
        User user = new User();
        user.setUsername(username);
        user.setPassword(password);
 
        // 获取用户输入的验证码
        String checkCode = request.getParameter("checkCode");
 
        // 程序生成的验证码,从Session获取
        HttpSession session = request.getSession();
        String checkCodeGen = (String) session.getAttribute("checkCodeGen");
 
        // 比对
        if(!checkCodeGen.equalsIgnoreCase(checkCode)){
 
            request.setAttribute("register_msg","验证码错误");
            request.getRequestDispatcher("/register.jsp").forward(request,response);
 
            // 不允许注册
            return;
        }

  

posted @   __破  阅读(20)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示