客户端会话跟踪技术: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占用资源
标签:session,存储,技术,会话,Session,Cookie,跟踪,cookie From: https://www.cnblogs.com/songyuejava/p/16748899.html