Cookie
1. 什么是Cookie
~~~~ Cookie是服务器通知客户端保存键值对的一种技术
~~~~ 客户端有了Cookie后,每次请求都发送给服务器
~~~~ 每个Cookie的大小不能超过4Kb
2. Cookie的创建

3. Cookie的获取

4. Cookie值的修改
方案一:
~~~~ 1. 先创建一个要修改的同名的Cookie对象;
~~~~ 2. 在构造器中同时赋予新的Cookie值;
~~~~ 3. 调用response.addCookie(cookie);
方案二:
~~~~ 1. 先查找到需要修改的Cookie对象;
~~~~ 2. 调用setValue()方法赋予新的Cookie值;
~~~~ 3. 调用response.addCookie(cookie)通知客户端保存修改;
5. Cookie生命周期控制
Cookie的生命周期控制指的是如何管理Cookie什么时候被销毁
setMaxAge()方法:设置Cookie的最大生存时间,以秒为单位——正值表示cookie将在经过该值表示的秒数之后过期;注意,该值是cookie过期的最大生存时间,不是cookie的当前生存时间;负值意味着cookie不会被持久存储,将在Web浏览器退出时删除;0值会导致删除cookie。
6. Cookie有效路径Path的设置
Cookie的Path属性可以有效的过滤哪些Cookie可以发送给服务器,哪些不发
Path属性是通过请求的地址来进行有效的过滤

~~~~~~~~
Session会话
1. 什么是Session会话
~~~~ Session是一个接口HttpSession;
~~~~ Session就是会话,它是用来维护一个客户端和服务器之间关联的一种技术;
~~~~ 每个客户端都有自己的一个Session会话;
~~~~ Session会话中,我们经常用来保存用户登录之后的信息;
2. Session的创建和获取
~~~~ 1. 创建和获取Session的API相同,都是request.getSession()
~~~~~~~~~~~~ 第一次调用是:创建Session会话;
~~~~~~~~~~~~ 之后调用都是:获取前面创建好的Session会话对象;
~~~~ 2. isNew()方法:判断是否是刚创建的Session
~~~~ 3. getId()方法:得到Session会话的ID值(每个会话都有一个唯一的ID值)
3. Session域数据的存取
存:

取:

4. Session生命周期控制
- setMaxInactiveInterval(int interval):指定在servlet容器使此会话失效之前客户端请求之间的时间间隔,以秒为单位;负数时间指示会话永远不会超时
- getMaxInactiveInterval():获取Session的超时时间
- session的超时是指客户端两次请求的最大间隔时长

- invalidate()方法:使此会话立即无效,然后取消对任何绑定到它的对象的绑定
5. 浏览器和Session之间关联的技术内幕

本文详细介绍了Cookie的工作原理,包括创建、获取、修改、生命周期控制和有效路径设置。同时对比了Session的概念、创建、数据操作和生命周期管理,揭示两者底层的关联。
17万+

被折叠的 条评论
为什么被折叠?



