session实现验证码

session是在服务器端的记录用户状态的技术。

  • session的结构可以简单的理解为一种map结构
  • 当浏览器访问服务器的时候,服务器会为每一个用户创建一个session对象(HttpSession)这个对象具有唯一的sessionId,并且在默认的情况下,会使用cookie技术,将这个sessionId发送给浏览器保存起来(只是发送sessionId,session其他的数据都是放在服务器中 ,服务器通过sessionId查找对应的session对象。通过这种方式就可以保存用户多次操作的中间结果)
  • session常用的方法
    • 创建session
      request.getSession();
      request.getSession(boolean flag)


        这两个方法的差别
      getSession()==getSession(true)
      如果为true 服务器先去检查请求中是否有sessinId,如果没有就创建一个session对象 如果有,会根据sessionId查找对应的seesion对象,如果没有这个对象 就创建,如果有,就返回;
      如果为false 服务器先去检查请求中是否有sessinId,如果没有就返回null 如果有,会根据sessionId查找对应的seesion对象,如果没有这个对象 就返回null,如果有,就返回;

    • 设置属性
      setAttribute(String key,String value);
    • 得到属性
      getAttribute(String key)
    • 移除属性
      removeAttribute(String key)
    • 移除session
      invalidate()
  • 常用的情景
    1. 登陆检查
    2. 保存数据
    3. 跨请求传递数据
    4. 验证码的校验

利用session技术来来实现一个验证码的校验

实现的简单情景

默认用户名为abc ,输入验证码和用户名 如果正确。跳转到成功页面,如果不正确,跳转到错误页面
代码https://gitee.com/LiuXiaoChengLZW/javawebTest.git

你可能感兴趣的:(java基础,java)