Session

Session 表示通话,会话,对话期间的意思.

会话:是指一个浏览器窗口打开到关闭这个期间.

Session原理:

服务器可以为客户端创建并维护一个Session对象,用于存放数据.在创建Session对象的同时,服务器将会为该Session象产生一个唯一的编号,这个编号称之为SessionID,服务器以Cookie的方式将SessionID存放在客户端.

创建Session :

HttpSession session = request.getSession( Boolean);

如果booleantrue:如果有session就得到,没有就新创建.不写就默认为true.

如果booleanfalse:如果有就得到Session,没有就为null;

HttpSession接口:

  • setAttribute(String,Object):在Session对象中用一个名字绑定一个对象.
  • getAttribute(String):通过名字获取Session对象中保存的对象;
  • removeAttribute(String):在Session对象中保存的对象.
  • getCreationTime():返回第一次创建会话的时间.
  • setMaxInactiveInterval(int interval):对于会话指定客户请求的最大间隔时间.
  • getMaxInactiveInterval(int interval):返回客户请求的最大间隔时间
  • invalidate():会话结束.当前存在在会话中的所有会话属性也解除绑定.
  • getId():此方法返回每个Session唯一的标识
一般情况:
Session都是储存在内存里,当服务器进程被停止或重启的时候,内存里的Session也会被清空,但有一点是明确的,Session对象占用着系统资源.
会话超时管理:
会话的销毁:
  • 设置会话超时:
setMaxInactiveInterval(int interval):以秒为单位
可以在web.xml中配置:
<session-config>
<session-timeout>14</session-timeout>
</session-config>
是以分钟为单位
  • 在Session对象上调用invalidate()方法
  • 应用结束(崩溃或者取消部署)
注意:
session对象是保存在服务器端,浏览器关闭时并不意味着Session对象被删除.
URL重写:
当cookie被客户禁止后,容器就回求助于URL重写,对HTTP响应中发送的所有URL完成编码.
显示使用了URl编码后,容器会首先尝试使用cookie完成会话管理,只有当cookie方法失败后才会URL重写
当向客户返回第一个响应时候,会同时尝试使用cookie和URL重写两种方法.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值