zoukankan      html  css  js  c++  java
  • 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>

  • 相关阅读:
    利用深度学习网络自动给图像上色的文章和相关工程实现
    Perceptual Losses for Real-Time Style Transfer and Super-Resolution and Super-Resolution 论文笔记
    (转) Dissecting Reinforcement Learning-Part.2
    (转) 多模态机器翻译
    编译caffe的Python借口,提示:ImportError: dynamic module does not define module export function (PyInit__caffe)
    (转)How Hash Algorithms Work
    深度学习 目标检测算法 SSD 论文简介
    (转)能根据文字生成图片的 GAN,深度学习领域的又一新星
    (转) Face-Resources
    (转) AdversarialNetsPapers
  • 原文地址:https://www.cnblogs.com/ChangFen/p/5388888.html
Copyright © 2011-2022 走看看