栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JAVA会话跟踪技术笔记

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JAVA会话跟踪技术笔记

文章目录
  • cookie基本使用
  • cookie原理
  • cookie使用细节
  • Session
  • Session原理
  • Session使用细节
  • 小结

cookie基本使用
  • cookie:客户端会话技术,将数据保存到客户端,以后每次请求都携带cookie数据进行访问
  • 发送cookie到客户端,使用response对象response.addcookie(cookie)
  • 获取客户端携带的所有cookie,使用request对象cookie[] cookies=request.getcookies();
  • 遍历数组,获取每一个cookie对象:for
  • 使用cookie对象方法获取数据cookie.getName();cookie.getValue();
cookie原理
  • cookie实现是基于HTTP协议的
    • 响应头:set-cookie
    • 请求头:cookie
cookie使用细节
  • cookie使用时间
    • 默认情况下,cookie存储在浏览器内存中,当浏览器关闭,内存释放,则cookie被销毁
    • setMaxAge(int seconds):设置cookie存活时间
      • 正数:将cookie写入浏览器所在电脑的硬盘,持久化存储,到时间自动删除
      • 复数:默认值,浏览器关闭,cookie被销毁
      • 零:删除对应cookie
  • cookie存储中文
    • cookie默认情况不能直接存储中文
    • 如需要存储,则需要进行转码:URL编码URLEncoder.encode(value,"UTF-8");URLDecoder.decode(value,"UTF-9");
Session
  • 服务端会话跟踪技术:将数据保存到服务端
  • JavaEE提供HttpSeesion接口,来实现一次会话的多次请求间数据共享功能
  • 使用
    • 获取Seesion对象HttpSession session=request.getSeesion();
    • Seesion对象功能:
      • void setAttribute(String name,Object o):存储数据到seesion域中
      • Object getAttribute(String name):根据key,获取值
      • void removeAttribute(String name):根据key,删除该键值对
Session原理
  • session是基于cookie实现的
Session使用细节
  • Session钝化、活话:
    • 服务器重启后,Session中的数据是否还在?在
      • 钝化:在服务器正常关闭后,Tomcat会自动将Session数据写入硬盘的文件中
      • 活话:再次启动服务器后,从文件中加载数据到Session中
  • Session销毁
    • 默认情况下,30分钟自动销毁

    • 调用Session对象的invalidate()方法


	30

小结
  • cookie和Session都是来完成一次会话内多次请求间数据共享的
  • 区别
    • 存储位置:cookie是将数据存储在客户端,Session将数据存储在服务端
    • 安全性:cookie不安全,Session安全
    • 数据大小:cookie最大3KB,Session无大小限制
    • 存储时间:cookie可以长期存储,Session默认30分钟
    • 服务器性能:cookie不占服务器资源,Session占用服务器资源
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/583663.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号