Cookie是一种 客户端会话技术,将数据保存到客户端,以后每次请求都携带Cookie数据进行访问
Cookie的工作流程 Cookie的基本使用 //创建cookie对象
Cookie cookie = new Cookie("key", "value");
//添加到响应中,发送到客户端中保存
response.addCookie(cookie);
//从request中获取所有的cookie
Cookie[] cookies = request.getCookies();
//使用cookie对象获取对应的值
cookie.getName();
cookie.getValue();
Cookie如何实现
Cookie的使用注意事项
1.Cookie的存活时间
- 默认情况下,Cookie存储在浏览器内存中,当浏览器关闭,内存释放,则Cookie被销毁
//设置Cookie的存活时间 setMaxAge(int seconds) //设置存活时间 ,1周 7天 cookie.setMaxAge(60*60*24*7);
2.Cookie如何存储中文
//对中文进行URL编码 value = URLEncoder.encode(value, "UTF-8");Session 概念
服务端会话跟踪技术,将数据保存到服务端,安全性相较于Cookie会较高一点
Session的工作流程 Session的基本使用//获取Session对象
HttpSession session = request.getSession();
//存储到session域中
session.setAttribute("username", "zx");
//获取Session对象
HttpSession session = request.getSession();
//获取数据
Object username = session.getAttribute("username");
//根据 key,删除该键值对
void removeAttribute(String name)
Session 实现流程
Session 注意事项
1.钝化与活化
-
钝化:在服务器正常关闭后,Tomcat会自动将Session数据写入硬盘的文件中
-
活化:再次启动服务器后,从文件中加载数据到Session中
2.销毁
- 默认情况下,无操作,30分钟自动销毁
100
- 调用Session对象的invalidate()进行销毁
session.invalidate();Cookie和Session的区别是什么?
- 存储位置:Cookie 是将数据存储在客户端,Session 将数据存储在服务端
- 安全性:Cookie不安全,Session安全
- 数据大小:Cookie最大3KB,Session无大小限制
- 存储时间:Cookie可以通过setMaxAge()长期存储,Session默认30分钟
- 服务器性能:Cookie不占服务器资源,Session占用服务器资源
- 购物车:使用Cookie来存储
- 以登录用户的名称展示:使用Session来存储
- 记住:使用Cookie来存储
- 验证码:使用session来存储



