会话跟踪技术
客户端会话跟踪技术:Cookie
服务端会话跟踪技术:Session
Cookie:
发送Kookie:创建Cookie对象 new Cookie()里面是键值对 字符串类型 然后调用response发送 response.addCookie
获取Cookie:获取客户端携带的所有Cookie,调用 request.getCookies返回一个Cookie数组,遍历数组获取每一个Cookie对象,foreach
使用Cookie对象方法获取数据 cookie.getName cookie.getValue
原理:发送Cookie时会有一个响应头set-Cookie 获取的时候会有一个请求头cookie
cookie存活时间:
默认情况下,关闭浏览器就会销毁
setMaxAge:设置cookie存活时间
cookie不能直接存储中文
可以使用URL编码进行转码 URLencoder.encode(值,编码类型)
获取的时候解码 URLDecoder.decode(值,编码类型)
Session:
获取Session对象:使用request.getSession,返回一个HTTPSession
Session对象功能:
setAttribute(String name,object o)存储数据到Session中
getAttribute(String name)根据key,获取值
removeAttribute(String name) 根据key删除值
Session钝化和活化
钝化在服务器正常关闭后,Tomcat会自动将Session数据写入硬盘的文件中
活化再次启动服务器后,从文件中加载数据到Session中
session销毁:默认情况下30分钟自动销毁
调用invalidate方法自己把自己干死
cookie和session都是来完成一次会话多次请求间的数据共享的
区别:
存储位置:cookie是将数据存储在客户端,Session将数据存储在服务端
安全性:cookie不安全 Session安全
数据大小:cookie最大3kb session无大小限制
存储时间 :cookie可以长期储存 session默认30分钟
服务器性能:cookie不占用服务器资源 session占用资源
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix