zoukankan      html  css  js  c++  java
  • Javaweb----cookie和session

    http的一个特性:

    超文本传输协议

    无状态协议:每一个请求都是独立的,一旦数据交互完毕,客户端和服务端的连接就会关闭

    是服务器给浏览器的一个好东西(甜点),保存在浏览器上,是弥补http无状态的缺点,所以它能在客户端保持http状态信息,然后此浏览器每次向服务器发送请求都会带着这个Cookie
    默认生存时间:是会话级别的,如果要设置定时长,可以通过cookie.setMaxAge(time)

    缺点:采用一个4k的文本存储,存储内容少。而且是可见的,缺乏安全性

    Session

    session机制是采用在服务器端保持HTTP状态信息的方案,是服务器端使用的一种记录客户端状态的机制,

    生命周期

    1. request.getSession() --> 产生
    2. 过期时间到(30分钟),--->自动销毁invalidate
    3. 主动销毁request.getSession().invalidate(),------->一般用于注销用户登录
    4. 从服务器上卸载,或服务器关闭
      注意误区: 并不是浏览器访问服务器端的任意一个Jsp或Servlet,服务器就立即创建一个HttpSession对象,

    在web.XML配置全局的时间

    30

    配置30分钟

    作用

    1.自动登录功能
    2.购物车功能

    缺点

    保存在服务端的,如果并发访问的用户十分多,就会产生十分多的Session,耗费大量服务器内存,

    对比

    举一个例子感觉好理解一点:Cookie机制是通过检查客户身上的“通行证”来确定客户身份,那么session机制就是通过检查后台服务器上的“客户信息表”来确认客户身份,所以Session相当于程序在服务器上建立一份客户档案,客户来访的时候只需要查询客户档案表就可以了。

    存取方式不同,Cookie不能直接存取java对象,session可以存对象

    我们可以看到我们随便写一个页面时,我们运行页面,在弹出的浏览器中F12,刷新可以看到,有一个Cookie:Jsessionid; 同一个会话(浏览器开启到关闭),页面每次发送请求都会带着这个id,服务器就会通过这个id(request.getSession().getId()可以看到)找到对应存在服务器端的Session(用于存储这个Cookie的信息的,默认保存时间是30分钟),

    当浏览器禁用Cookie

    利用URL重写跟踪Session

  • 相关阅读:
    北京各银行收取的帐户管理费
    Windows Beta2 不能识别VMWare的声卡
    Windows Vista 不再支持.hlp文件了
    不是所有的x64下的VMWare都可以安装Windows Vista x64
    Delphi下操作PDF文件的控件
    DriverWorks的KPciConfiguration不支持x64平台的解决方法
    查找Windows文件来历的好方法
    在iSEDQuickPDF中如何输出带中文的PDF文件
    英语听力简单研究
    How To Use A Launchpad PPA (Add, Remove, Purge, Disable) In Ubuntu
  • 原文地址:https://www.cnblogs.com/liu-ya/p/9436522.html
Copyright © 2011-2022 走看看