• JAVA Web 实现会话跟踪的技术笔记


      

    1.HTTP协议无状态:客户端的请求与服务器的响应所发生的一系列行为
    简单的说是客户发送了请求,服务器就给客户端响应,
    它们彼此之间都没有记录下来。
    如:
    顾客与自动售货机
    普通顾客(非会员)与商场

    2.cookie:把用户信息存放在客户端浏览器中,名-值
    1)分类:
    A.不设置过期时间:cookie存放在内存,浏览器关闭,则cookie消失
    B.设置过期时间:cookie存放在硬盘上,浏览器关闭再打开,cookie还在,
    直到超过过期时间。浏览器可共享此cookie的数据。

    2)操作步骤:
    第一:实例化Cookie对象:Cookie ck = new Cookie("名","值") ;

    第二:添加Cookie对象:响应对象.addCookie(cookie对象) ;
    注:在发送客户端浏览器之前可以,设置存活时间:
    cookie对象.setMaxAge(秒) ;

    第三:读取Cookie对象的数据
    Cookie[] cookie数组对象 = request.getCookies()

    for (Cookie ck : cookie数组对象) {
    System.out.println(ck.getName()+"->"+ck.getValue());
    }

    3.HttpSession:HttpSession依赖Cookie,所以说,要是你报cookie禁用了,那么HttpSession就失效,把用户信息存放在服务器中的web容器中
    工作原理

    3.HttpSession:会话对象
    1)获取会话对象
    请求对象.getSession(false):
    获取会话对象,如果存在会话对象,则返回,如果不存在会话对象,则返回null

    请求对象.getSession() 等同于 请求对象.getSession(true)
    获取会话对象,如果存在会话对象,则返回,如果不存在会话对象,则创建一个新的会话对象

    2)常见方法
    setAttribute(“属性名”,”属性值”) 根据属性名设值
    getAttribute(“属性名”) 根据属性名 获取对应的值
    removeAttribute(“属性名”) 根据属性名删除

    getId():获取Session唯一的ID
    invalidate():使HttpSession对象失效
    setMaxInactiveInterval(时间):设置Session过期时间,单位是秒
    getCreationTime():获取HttpSession对象创建时间
    getLastAccessedTime():获取HttpSession最近一次请求时间

    3)会话失效的方法有:
    a.超时
    b.手动失效:调用invalidate()方法
    c.程序结束(web服务器关闭,切记不是浏览器关闭)

    注:浏览器关闭后,Session对象失效了码? -> 答案:没有失效,在服务器仍然存在,

    4.地址重写
    1)响应对象.encodeRedirectURL("地址")

    2)形式(语法)
    a.URL地址;jsessionid=4BA4A5C6F5268E1FE3227AEB1A251E97
    b.URL地址?参数名1=值1&参数名2=值2&...&参数名n=值n;jsessionid=4BA4A5C6F5268E1FE3227AEB1A251E97

    5.表单隐藏域
    <form action="" method="">
    相关的表单控件...

    <input type="hidden" name="参数名1" value="参数值1"/>
    ...
    <input type="hidden" name="jsessionid" value="xxxxx"/>
    <input type="hidden" name="参数名n" value="参数值n"/>
    </form>

  • 相关阅读:
    系统学习 TypeScript(四)——变量声明的初步学习
    系统学习 TypeScript(二)——开发流程和语法规则
    不联网的情况下,使用 electronbuilder 快速打包全平台应用
    开发提效小技巧分享(二)
    开发提效小技巧分享(一)
    系统学习 TypeScript(五)——联合类型
    系统学习 TypeScript(三)——基础类型
    系统学习 TypeScript(六)——认识接口
    迭代器总结
    创建react 项目
  • 原文地址:https://www.cnblogs.com/ChangFen/p/5388888.html
Copyright © 2020-2023  润新知