Java大数据之路--Session

会话技术--Session

目录

会话技术--Session

会话技术Session概述

会话技术Session实现

Cookie和Session特点


会话技术Session概述

  • session概述

在浏览器端保存数据,数据可以被查看、获取,数据安全性较低。重要的数据应该存放在不容易获取到的位置。服务器是一个良好的选择。数据通过服务器共享,这门技术就是session会话技术。

  • session工作原理:

每一个浏览器在访问服务器时,都会创建各自对应的session对象来保存数据。相互之间不会影响,是因为在session对象身上会包含一个sessionid,可以通过这个id来区分每一个浏览器对应的session。本质是通过一个名称为JSESSIONID的cookie来进行工作的。这个cookie会保存在浏览器中使用。

  • session的特点:

session是一门服务器的技术,将数据保存的服务器端。保存安全性要求较高的数据。且存储时间较短的数据。

会话技术Session实现

  • 创建session对象
request.getSession();//如果服务器中有session对象,则取出使用,如果没有session对象则创建一个新的session对象使用。

request.getSession(true);//如果服务器中有session对象,则取出使用,如果没有session对象则创建一个新的session对象使用。

request.getSession(false);//如果服务器中没有session对象,则返回null,如果有session对想则取出使用。(判断session是否存在时使用)
  • 作为域对象使用

域对象:如果一个对象身上有一个可以被看见的范围,在这个范围内利用对象身上的map实现数据的共享,这个对象就可以称之为域对象。

setAttribute(String name,Object obj) //设置域属性

getAttribute(String name) //获取域属性

removeAttribute(String name ) //删除域属性

getAttributeNames() //获取所有的域属性名称
  • 生命周期

request.getSession()方法调用的时候session对象产生。

意外身亡:在服务器意外关闭的情况下,session对象会被销毁。在服务器正常关闭的情况下,如果session对象未被释放,则其中的内容会序列化到磁盘上,这个过程,称之为钝化。当服务器再次启动的时候,会重新读取磁盘上这个文件,这个过程称之为活化。

自杀:主动session.invalidate()方法会立刻释放当前session对象。

超时死亡:在[tomcat]/conf/web.xml中有session默认的最大生命时长配置 <session-config>标签,默认值为30分钟。超过30分钟,则当前session会被释放。

  • 作用范围

整个会话范围。

  • 主要功能:

在整个会话范围内共享数据

Cookie和Session特点

  • cookie特点

cookie是将数据保存在浏览器端,是一门浏览器端的技术。由于数据保存在浏览器端,所以可以被任意的查看,安全性较低,但是可以长时间存储数据。cookie善于存储安全性要求较低,但是存储时间较长的数据。

  • session特点

session是将数据保存在服务器端,是一门服务器端的技术,数据保存在服务器端相对安全,但是服务器无法保留大量session对象,所以不能够长时间存储数据。服务器善于存储安全性要求较高,但是存储时间较短的数据。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值