Session的操作、规范、细节

1.创建和获取Session对象

HttpSession session=request.getSession(true);如果当前请求中存在一个Session对象,就直接返回,如果不存在Session对象,就先创建一个再返回

HttpSession session=request.getSession(false);不存在返回null

HttpSession session=request.getSession();等价于第一个 

2.往Session中存储数据

session对象.setAttribute(String name,Object value);

3.往Session中取出数据

Object value=session对象.getAttribute(String key);

4.删除Session

1):删除Session(用户注销登陆)

   session.removeAttribute("currentName");

2):销毁Session对象(Session中所有的属性都不存在)

   session.invalidate();

5.Session的超时管理

session.setMaxInactiveInterval(60*10);//超过10分钟,销毁Session

tomcat服务器的默认超时时间是30分钟,但是20多分钟一般就销毁了

6.URL重写

Session是一种特殊的Cookie,而浏览器可以禁用Cookie

此时,需要在每一个资源后手动携带session的ID

/session/list;jsessionid=87287754635E577453647FD6467575888

String url=response.encodeURL("/session/list");自动在资源后拼接;jsessionid=87287754635E577453647FD6467575888

注意:开发中都不会取消接收cookie的

 

Session的细节

1.一般的,我们存储到Session中的属性名称,要唯一,我们习惯XXX_IN_SESSION;

2.若需要把多个数据存放到Session中,一般会封装成对象

3.如果太多服务器之间需要共享Session,此时Session中的对象(如:User),必须实现java.io.Serializable(才能在网络上传播)

序列化 :把对象信息存储为二进制

反序列化:把二进制信息恢复成对象

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值