Java Web Session是什么?

Session是什么

​ 首先了解什么是会话:是指一个终端用户与交互系统进行通讯的过程,比如从用户A输入账户密码进入操作系统到退出操作系统就是一个会话过程。
​ 而session是记录浏览器状态的会话机制,session 对象里存储特定用户会话所需的属性及配置信息。

Session的作用

​ 在web应用里,HTTP是无状态协议的,也就是服务端无法得知用户之前的行为。比如用户A在www.test.com/login.jsp登陆了,而转去www.test.com/shopping.jsp却没了A的登陆信息。
​ 这时就需要session把信息保存在服务器上。用户A在浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上,这就是Session。客户端浏览器再次访问时只需要从该Session中查找A的状态就可以了。
​ 简而言之,识别用户并保持用户信息

Session的工作过程

​ 当客户端通过http请求一个页面且用到session时,服务器端会检查客户端是否有对应的session_id(相当于一把钥匙,标识作用),如果没有则创建一个session,同时把此session_id存入到客户端的cookie的PHPSESSID中(这是利用cookie的方法,还有就是通过url重写,把session_id写再url后),以后的访问通过将传输此ID去服务器端,通过检查是否有对应session做出反应

Session的常用方法

​ 方法名:void setAttribute(String attribute, Object value)。
​ 描述:设置Session属性。value参数可以为任何Java Object。通常为java Bean。value信息不宜过大
​ 方法名:String getAttribute(String attribute)。
​ 描述:返回Session属性
​ 方法名:void removeAttribute(String attribute)。
​ 描述:移除Session属性

Session和Cookie的区别

​ 存储位置----session存储在服务器,以文本的形式存储在硬盘;cookie是存储在客户端(浏览器里),存储在内存中
​ 存储大小规格----session高,cookie少
​ 安全性----session安全性高;用户可见cookie且能修改,不安全
​ 存储时间规则----session存10s的话,在第9s时session又被用了,时间又从0开始算;而cookie就按累计时间算

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值