JavaWeb中Session、Cookie学习

会话技术

当用户打开浏览器访问了很多连接最后关闭了浏览器。这就是一个会话。

Cookie技术

Cookie是客户端技术,程序将用户的数据以Cookie的方式保存在各自的浏览器当中,当用户使用浏览器访问服务器的web资源的时候,就会带着各自的数据过去,这样web服务器处理的就是用户各自的数据

  • 记录用户上次访问的时间流程图

在这里插入图片描述

  • cookie的分类
    1.默认级别的Cookie
    默认情况下只要关闭浏览器Cookie也会被销毁。
    2.持久级别的Cookie
    有有效时间的Cookie,将Cookie持久化到硬盘。再打开浏览器的时候会先加载硬盘当中保存的cookie。从而cookie数据就不会丢失

-Cookie使用的细节
1.一个Cookie只用标识一种信息,至少含有一个表示信息的名称和值。
2.一个web站点可以给一个浏览器发送多个Cookie,一个web浏览器可以存储多个web站点的Cookie。
3.浏览器存放的Cookie的大小和个数是有限制的。
4.默认情况下是一个会话级别的Cookie。
5.需要手动删除持久性的Cookie,可以将Cookie的有效时长设置为0,删除的时候必须注意Path必须保持一直,否则无法删除

Session技术

Session是服务器端的技术,每个浏览器都有唯一的ID,利用这个技术,服务器在运行的时候会为每一个用户创建一个独享的Session对象。由于Session为用户浏览器独享,所有用户在访问服务器的时候,可以把各自的数据放在各自的Session当中,当用户再次访问服务器的web资源的时候,web资源再从用户各自的Session取出数据为用户服务

为什么又Cookie还要使用Session
Cookie局限性:
Cookie保存的数据是有个数和大小限制的
数据是保存在客户端浏览器(相对不是很安全)
Session
session没有个数和大小的限制
数据保存在服务器上,相对比较安全
在这里插入图片描述
服务器是如何一个Session为一个用户浏览器服务
在这里插入图片描述

Session的实现原理是基于Cookie回写了SessionID。

  • Session细节一
    在这里插入图片描述
  • Session细节二
    在这里插入图片描述
  • 特点
    1.处理一次会话多次请求
    2.可以存储任意类型,任意大小

Servlet数据访问范围的总结

1.请求范围(ServletRequest)

  • 何时创建的和销毁的?
    创建:当用户第一次访问服务器发送请求服务器就会被创建一个request对象。
    销毁:当服务器对这次请求做出响应,服务器就销毁这次请求

  • 如何存取数据?

  • 作用范围?
    一次请求(转发就是一次请求)

2.会话范围(HttpSession)

  • 何时创建的和销毁的?
    创建:服务器端第一次去调用getSession方法的时候。
    销毁:三种情况
    1.Session过期了,默认三十分钟
    2.非正常关闭服务器(正常关闭Session会被序列化)
    3.手动销毁调用invalidate();方法
  • 如何存取数据?
  • 作用范围?
    一次会话的范围(多次请求)
    3.应用范围(ServletContext)
  • 何时创建的和销毁的?
    创建:服务器启动的时候就会创建,每个web项目都会创建单独的ServletContext对象。
    销毁:服务器关闭,或将web项目移除服务器
  • 如何存取数据?
  • 作用范围?
    整个应用(多个浏览器都操作的同一个空间)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值