cookie与session 简单学习

  1. Cookie:是服务器通知客户端保存的键值对的一种技术,只要客户端有cookie每次请求都会把这个cookie发送给服务器,每个cookie的大小没能超过4kb
    2.怎么创建Cookie
    在服务上new
    在这里插入图片描述
    服务器与浏览器的cookie的交互过程

客户端生成cookie
在这里插入图片描述
客户端把cookie request发送给服务器
在这里插入图片描述
3.Cookie生命周期
setMaxAge();
正数 在指定的秒数后过期(销毁)
零 浏览器收到响应后就马上就让他关闭(销毁)
负数(-1) 默认值-1,在刘篮球关闭的时候就会过期(销毁)

在这里插入图片描述
4.通过设置Cookie的失效时间,可以到达登录免登录的效果

5.修改Cookie的Path路径
setPath( “/xxxx/xxxx” ) 设置 Cookie的有效访问路径

比如设置为/day14/abc,则下面几个路径访问的结果是
/day14/abc 能获取Cookie
/day14/xxxx.xxx 不能获取Cookie
/day14/abc/xxx.xxx 能获取Cookie
/day14/abc/a/b/c 能获取Cookie
6.Cookie用途

  Cookie 可以作为全局变量,这是它最大的一个优点。它最根本的用途是 Cookie 能够帮助 Web 站点保存有关访问者的信息,以下列举cookie的几种小用途。

1)保存用户登录信息。这应该是最常用的了。当您访问一个需要登录的界面,例如微博、百度及一些论坛,在登录过后一般都会有类似"下次自动登录"的选项,勾选过后下次就不需要重复验证。这种就可以通过cookie保存用户的id。

2)创建购物车。购物网站通常把已选物品保存在cookie中,这样可以实现不同页面之间数据的同步(同一个域名下是可以共享cookie的),同时在提交订单的时候又会把这些cookie传到后台。

3)跟踪用户行为。例如百度联盟会通过cookie记录用户的偏好信息,然后向用户推荐个性化推广信息,所以浏览其他网页的时候经常会发现旁边的小广告都是自己最近百度搜过的东西。这是可以禁用的。

2.1、什么是Session?
首先Session是jsp中九大内置对象之一。
其次Session是一个域对象。
然后Session是在服务器端用来保存用户数据的一种技术。并且Session会话技术是基于Cookie实现的。

2.2、Session的使用
2.2.1、Session创建和获取(id号,是否为新)
request.getSession() 创建或获取Session对象 ( 第一次访问是创建Session对象。之后调用都是获取Session )
在这里插入图片描述
2.2.2、Session数据的存取
Session域对象数据的存取和其他三个域对象PageContext、Request、ServletContext是一样的。只需要调用下面两个方法。

setAttribute 设置属性
getAttribute 获取属性

// 第一个调用就是获取一个新的Session。如果Session已经创建过。就获取原来的会话。
		HttpSession session = request.getSession();
		// 设置数据
		session.setAttribute("abc", "abc value");
		response.getWriter().write("设置属性值成功!");
// 第一个调用就是获取一个新的Session。如果Session已经创建过。就获取原来的会话。
		HttpSession session = request.getSession();
		// 设置数据
		String value = (String) session.getAttribute("abc");
		response.getWriter().write("获取abc的属性值:" + value);

2.2.3、Session 生命周期控制
int getMaxInactiveInterval() 获取超时时间。以秒为单位。

setMaxInactiveInterval ( 时间 ) 设置用户多长时间没有操作之后就会Session过期。以秒为单位。
如果是正数。表示用户在给定的时间内没有任意操作,Session会话就会过期。
如果是负数。表示Session永不过期。

Session默认存活时间
Session默认的过期时间为30分钟。默认是在tomcat的conf目录下web.xml配置文件中。
在这里插入图片描述
Session在3秒之后超时
// 第一个调用就是获取一个新的Session。如果Session已经创建过。就获取原来的会话。
HttpSession session = request.getSession();
// 设置过期时间为3秒
session.setMaxInactiveInterval(3);

Session 与 cookie 之间的关联
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值