有事没事领个红包

会话过程保存数据对象cookie和session

1 cookie是以键值对保存在浏览器端,服务器端可以创建、接收、发送 cookie 信息。

request可以接收 cookie, response 可以发送 cookie。

 

1)cookie 可以设置过期时间cookie.setMaxAge

  • 正数,浏览器会将数据保存到硬盘中,如果没有超过过期时间,就可以一直访问。时间单位是秒。
  • 负数,浏览器会将数据保存在内存中,关闭浏览器数据就会回收。
  • 0,清除同名的cookie。

 

2)Cookie 可以设置有效路径 cookie.setPath(String path)。浏览器只有在有效路径下才会发送相应的cookie。

3)存放限制:浏览器一般只允许存放300个cookie,只可以存放英文、数字字符串,每个站点最多可以存放20个cookie,每个cookie大小限制为4kb。

 

2 session 将键值对保存到服务器端,获取session 对象,request.getSession()。

  通过 JSESSIONID 的 cookie 值在服务器找 session 对象。该 cookie 值保存在浏览器端的内存中,因此关闭浏览器或者更换浏览器因为没有 sessionID,因此不是同一个会话;但是如果浏览器没有关闭,不同的 table 可以访问同一个session对象。

  1) 可以修改 session 对象的保存时间,默认时间是半小时。

  session.setMaxInactiveInterval(int)  //单位是秒

 

  全局修改session 保存时间,单位是分钟。

<session-fig>
    <session-timeout>time</session-timeout>
</session-fig>

 

  2)手动销毁session对象

  void session.invalidate() //销毁session对象。

 

posted @   crazyCodeLove  阅读(398)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示