Cookie和Session
Http协议
无状态的(基于TCP)
需要在浏览器和服务器之间的多次交互需要数据共享
什么是会话
web应用中的会话是指一个客户端浏览器与web服务器之间连续发生的一系列请求和响应过程;
会话可简单理解为:用户开一个浏览器,访问某一个web网站,在这个站点网站有多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一次会话;
Cookie
Cookie将信息保存在浏览器中 – > 不安全
添加Cookie
Cookie c = new Cookie(“”,””);
resp.addCookie();
查询Cookie
Cookie[] cookies = req.getCookies();
修改Cookie
第一种:添加一个name值一样的Cookie
第二种:s.setValue()
解决Cookie的value值的中文乱码问题
cookie的name不能使用中文,value可以,但是需要编码解码
Cookie生命周期
生:Cookie在创建之后放到浏览器中
死:关闭浏览器
Demo
1 | package com.ifueen.classtest; |
Session
什么是Session?
在服务器端维护的这些用于保存与不同客户端交互时的数据的对象叫做Session;
1.创建session
手动创建:req.getSession();
自动创建:访问jsp
2.使用Session
setAttribute();
getAttribute();
removeAttribute();
3.设置过期时间
session.setMaxInactiveInterval(30);
4.删除session
使用场景:注销用户
session.invalidate();
5.Session优缺点
优点:安全,保存的数据类型没有限制,大小没有限制
缺点:增加服务器的压力
Demo
1 | package com.ifueen.classtest; |
Cookie和Seesion的区别(面试题)
Cookie是将数据存放在浏览器中,可以选择在内存或者硬盘里面,相对来说不太安全,Cookie限制了存储的数量,最多只允许4KB
Session将数据存放在服务器中的,Seesion存储的数量没有限制