Cookie的常用方法
创建一个Cookie
第一个参数为键名 第二个参数为值
Cookie Cusername=new Cookie("name",user.getUsername());
//创建完成Cookie后需要将其添加到HttpServletResponse对象中 在jsp页面才能使用
resp.addCookie(Cusername);
在jsp页面中填写**${cookie.name.value}**即可获取Cookie中存储的user.getUsername()值
注意
创建完成Cookie后需要将其添加到HttpServletResponse对象中 在jsp页面才能使用
resp.addCookie(Cusername);
设置Cookie的存活时间
Cookie.setMaxAge();
Cusername.setMaxAge(时间,单位是秒);
如果需要Cookie销毁 时间设置为0即可
获取当前浏览器中所有的Cookie数据 并且全部销毁
Cookie[] cookies=req.getCookies();
for (Cookie cookie : cookies) {
cookie.setMaxAge(0);
resp.addCookie(cookie);
}
Session的常用方法
创建Session
HttpSession session=HttpServletRequest.getgetSession();
设置session的值
session.setAttribute("user",user);
第一个参数是键 第二个参数是值
这里存入的是user实体类
在jsp页面使用时
${键名.属性名即可}
u
s
e
r
.
u
s
e
r
n
a
m
e
如
果
是
一
个
普
通
的
字
符
串
类
型
直
接
使
用
{user.username} 如果是一个普通的字符串类型直接使用
user.username如果是一个普通的字符串类型直接使用{键名获取即可}
移除session
session.removeAttribute("想要移除session的键名");
根据key获取session值
session.getAttribute("键名")
Cookie和Session小结
- Cookie 和 Session 都是来完成一次会话内多次请求间数据共享的。
所需两个对象放在一块,就需要思考:
Cookie和Session的区别是什么?
Cookie和Session的应用场景分别是什么?
- 区别:
- 存储位置:Cookie 是将数据存储在客户端,Session 将数据存储在服务端
- 安全性:Cookie不安全,Session安全
- 数据大小:Cookie最大3KB,Session无大小限制
- 存储时间:Cookie可以通过setMaxAge()长期存储,Session默认30分钟
- 服务器性能:Cookie不占服务器资源,Session占用服务器资源
- 应用场景:
- 购物车:使用Cookie来存储
- 以登录用户的名称展示:使用Session来存储
- 记住我功能:使用Cookie来存储
- 验证码:使用session来存储
- 结论
- Cookie是用来保证用户在未登录情况下的身份识别
- Session是用来保存用户登录后的数据