Cookie
- 我们设置的Cookie浏览器会分path,只有同一path返回的cookie,下一次访问同path时(请求转发也算),浏览器请求头才会带上对应path.
可以手动设置Cookie.path = xxx eg:req.contextPath
来指定path,浏览器默认根据要访问的url依次匹配最接近的1级,2级path的cookie并带上 - Cookie的值只能是String无法想session一样是object,且无法为中文,需要放中文时需要
URLEncode
- Cookie的有效期
Cookie.maxAge = 1000 // 秒为单位
- JSP中可以通过
${cookie.key.value} key为cookie对应的key
获取Cookie
Session
Session作用域,浏览器重启或者新session后则刷新,原理是利用Cookie,带了个JSESSIONID=BE09C25AA4F9F1CBDC6B5641F59DBA36
, 同一对话
该session id值会一致,java web服务器根据id获取对应session,提供session作用域.
浏览器会自动管理session对应的cookie键值对,会话结束或者浏览器关闭时不进行存储,保证下次新会话不带上。
销毁
2种方式销毁
1:过期,可以配置过期时间
在web.xml
中配置
1 |
|
没有配置默认30分钟,在tomcat的web.xml中配置
2:主动销毁调用Session.invalidate()
方法