目录
成都创新互联公司主要从事网站建设、成都网站制作、网页设计、企业做网站、公司建网站等业务。立足成都服务安阳,十余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:135182197921.会话跟踪技术
2.Cookie
什么是Cookie?
Cookie如何来使用?
Cookie是如何实现的?
Cookie的使用细节有哪些?
3.Session
什么是Session?
Session如何来使用?
Session是如何实现的?
Session的使用细节有哪些?
// 1.创建对象
Cookie cookie = new Cookie("username","zs");
//2.发送Cookie,resp
resp.addCookie(cookie) ;
获取
Cookie
// 1.获取Cookie数组
Cookie[] cookies = req.getCookies();
//2.遍历数组
for (Cookie cookie:cookies) {
//3.获取数据
String name = cookie.getName() ;
if("username".equals(name)){
String value = cookie.getValue() ;
System.out.println(name+":"+value);
break;
}
}
Cookie是如何实现的?
Cookie
的实现原理基于
HTTP
协议
响应头
:set-cookie
请求头
: cookie
Cookie的使用细节有哪些?Cookie的存活时间
设置 Cookie 存活时间 : setMaxAge(int seconds)// 1.创建对象
Cookie cookie = new Cookie("username","zs");
//设置存活时间,一周
cookie.setMaxAge(60*60*24*7);
//2.发送Cookie,resp
resp.addCookie(cookie) ;
参数值为
:
1.
正数:将
Cookie
写入浏览器所在电脑的硬盘,持久化存储。到时间自动删除
2.
负数:默认值,
Cookie
在当前浏览器内存中,当浏览器关闭,则
Cookie
被销毁
3.
零:删除对应
Cookie
Cookie
存储中文
Cookie不能直接存储中文 ,如果需要存储中文,就需要进行转码,
采用
URLEncoder.encode()。
对中文进行
URL
编码
String value = "张三";
//对中文进行URL编码
value = URLEncoder.encode(value,"UTF-8");
System.out.println("存储数据:"+value);
//将编码后的值存入Cookie中
// 1.创建对象
Cookie cookie = new Cookie("username",value);
//2.发送Cookie,resp
resp.addCookie(cookie) ;
获取值,并对值进行解码
// 1.获取Cookie数组
Cookie[] cookies = req.getCookies();
//2.遍历数组
for (Cookie cookie:cookies) {
//3.获取数据
String name = cookie.getName() ;
if("username".equals(name)){
String value = cookie.getValue() ;//获取的是URL编码
//URL解码
value = URLDecoder.decode(value,"UTF-8");
System.out.println(name+":"+value);
break;
}
}
3.Session
什么是Session?
Session
:服务端会话跟踪技术:将数据保存到服务端
Session如何来使用?
获取
Session
对象、存储数据
//存储到Session中
//1.获取Session对象
HttpSession session = req.getSession() ;
//2.存储数据
session.setAttribute("username","zs") ;
获取
Session
对象、获取数据
//1、获取Session对象
HttpSession session = req.getSession() ;
//2.获取数据
Object username = session.getAttribute("username") ;
System.out.println(username);
Session是如何实现的?
Session
是基于
Cookie
来实现的
ps:一次会话的多次请求之间,使用一个Sesssion的原因,Session有唯一标识:SessionID
Session的使用细节有哪些?
Session
钝化与活化
钝化:在服务器正常关闭后,
Tomcat
会自动将
Session
数据写入硬盘的文件中
活化:再次启动服务器后,从文件中加载数据到
Session
中
Session
销毁
默认情况下,无操作,
30
分钟自动销毁
添加
session
销毁的方法
//1、获取Session对象
HttpSession session = req.getSession() ;
//销毁
session.invalidate();
//2.获取数据
Object username = session.getAttribute("username") ;
System.out.println(username);
Cookie
和
Session
的区别是什么
?
存储位置:
Cookie
是将数据存储在客户端,
Session
将数据存储在服务端
安全性:
Cookie
不安全,
Session
安全
数据大小:
Cookie
大
3KB
,
Session
无大小限制
存储时间:
Cookie
可以通过
setMaxAge()
长期存储,
Session
默认
30
分钟
服务器性能:
Cookie
不占服务器资源,
Session
占用服务器资源你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧