Cookie与session学习过程笔记

本文详细介绍了状态管理中的Cookie和Session技术。包括Cookie的创建、设置、添加及读取方法,Session的创建和设置过程。对比了Cookie与Session在存在位置、安全性、网络传输及生命周期上的差异。

状态管理:cookie

1创建cookie

Cookie cookie=new Cookie("user", username+"#"+password);
Cookie cookie=new Cookie("关键字", 值value);

2设置cookie

cookie.setMaxAge(60*60*24*7*2);单位为秒,cookie的最大存活时间
cookie.setPath("/schoolwork");设置cookie的存放路径
cookie.setHttpOnly(true);设置cookie只为http读取,可以提高安全性

3添加cookie

response.addCookie(cookie);

4读取cookie

Cookie [] tb_cookie=request.getCookies();读取cookie表

outcookies.getComment(); 	返回cookie中注释,如果没有注释的话将返回空值.

outcookies.getDomain();返回cookie中Cookie适用的域名. 使用getDomain() 方法可以指示浏览器把Cookie返回给同 一域内的其他服务器,而通常Cookie只返回给与发送它的服务器名字完全相同的服务器。注意域名必须以点开始(例如.yesky.com)

outcookies.getMaxAge();返回Cookie过期之前的最大时间,以秒计算。

outcookies.getName();返回Cookie的名字。名字和值是我们始终关心的两个部分。

outcookies.getPath();返回Cookie适用的路径。如果不指定路径,Cookie将返回给当前页面所在目录及其子目录下 的所有页面。

outcookies.getSecure();如果浏览器通过安全协议发送cookies将返回true值,如果浏览器使用标准协议则返回false值。

outcookies.getValue();返回Cookie的值。

outcookies.getVersion();返回Cookie所遵从的协议版本。

状态管理:session

1.创建session

HttpSession session=request.getSession();

2.设置session ,session像一个表,放着很多键字对

session.setAttribute("username", "zhangsan");
session.setAttribute("username", "wangwu");//后者王五将会覆盖前者张三
session.setAttribute("username1", "zhangsan");
session.setAttribute("username2", "zhangsan");
session.setAttribute("username3", "zhangsan");

3.获取session

//	获取《一旦获取session,就会创建一个cookie》
	HttpSession session=request.getSession();
	System.out.println("sessionid"+session.getId());
	System.out.println("session创建时间"+session.getCreationTime());
	System.out.println("session创建时间"+newDate(session.getCreationTime()));
	System.out.println("最后一次访间"+newDate(session.getLastAccessedTime()));
	System.out.println("sesson过期时间"+session.getMaxInactiveInterval());//单位秒

http协议是无状态的,不能保存每次提交的信息,即当服务器返回与请求相对应的应答之后,这次事物的所有信息就丢掉了。

客户端的状态管理技术cookie

服务端的状态管理技术session

同名cookie后者会覆盖前者

同名session后者会覆盖前者

server判断是否为同一个用户的条件是 session ID,session ID以cookie的方式传递给浏览器

“cookie"VS"session”

存在位置:cookie在客户端的临时文件夹

​ session存在服务器内存中,一个session域对象为一个用户浏览器服务

安全性:cookie是以明文的方式存在客户端,

​ session是存放在服务器内存中,安全性较强

网络传输器:cookie会传递信息给服务器

session属性值不回传输给客户端

生命周期:cookie的生命周期是累积时间,到点失效

session的生命周期可通过修改配置文件和设置属性两种方法进行改变

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值