Cookie ,Session
会话技术
从打开一个浏览器访问某个站点,到关闭这个浏览器的整个过程,成为一次会话。会话技术就是记录这次会话中客户端态的状与数据的。
会话技术分为Cookie和Session:
Cookie:数据存储在客户端本地,减少服务器端的存储的压力,安全性不好,客户端可以清除cookie
Session:将数据存储到服务器端,安全性相对好,但增加服务器的压力
Cookie
默认有效时间,一次会话中
Cookie在传输中无法传中文
创建Cookie对象:
Cookie cookie=new Cookie("名","值");
该cookie会以响应头的形式发送给客户端
设置Cookie在客户端的持久化时间: 单位:秒
cookie.setMaxAge(60*2); //时间到后自动清除
如果不设置持久化时间,cookie会存储在浏览器的内存中,浏览器关闭 cookie信息销毁(会话级别的cookie),如果设置持久化时间,cookie信息会 被持久化到浏览器的磁盘文件里
设置Cookie携带路径
cookie.setPath("/WEB07"); //只有访问
如果不设置携带路径,那么默认产生该Cookie资源下的路径都携带
发送Cookie给客户端
response.addCookie(cookie);
删除Cookie:
用同名同路径的持久化时间为0的Cookie覆盖
获取客户端携带给服务器的Cookie
Cookie[] cookie=request.getCookies();
获取Cookie的name:
getName();
获取Cookie的Value:
getValue();
Session
Session技术是将数据存储在服务器端的技术,会为每个客户端都创建一块内存空间 存储客户的数据,但客户端需要每次都携带一个标识ID去服务器中寻找属于自己的内 存空间。所以说Session的实现是基于Cookie,Session需要借助于Cookie存储客户的唯一性标识JSESSIONID
Session对象的生命周期:
创建:
第一次执行request.getSession()时创建
销毁:
服务器关闭时
服务器端的资源无任何操作30分钟
时间可以在工程的web.xml中进行配置
<session-config>
<session-timeout>30</session-timeout>
</session-config>
手动销毁session
session.invalidate();
获得Session对象
HttpSession session = request.getSession();
获取JSESSIONID
String id=session.getId();
Session也是存储数据的区域对象,所以通用三个方法:
session.setAttribute(String name,Object obj); //存值
session.getAttribute(String name); //取值
session.removeAttribute(String name); //删除
获取JSESSIONID
String id=session.getId();
当创建Session时会自动创建一个Cookie, name为JSESSIONID,值为随机产生的一串数,
通过JSESSIONID找Session域内的值,当浏览器关闭再打开时,Cookie会重新创建,JSESSIONID
的值也会变化,要想关闭浏览器在打开后还能找回原有的值就需要重新创建个同名Cookie设置持久化时间替代原有的Cookie
代码如下:
//获取Session
HttpSession session=request.getSession();
//获取JSESSIONID
String id=session.getId();
//向Session域中存数据
session.setAttribute("goods", 123);
//将JSESSIONID 持久化
//手动创建Cookie
Cookie cookie=new Cookie("JSESSIONID",id);
cookie.setMaxAge(60*3);//设置持久化时间时间
response.addCookie(cookie);//发送
response.getWriter().write("JSESSIONID:"+id);
转载于:https://www.cnblogs.com/hhthtt/p/10708624.html
Cookie ,Session相关推荐
- 彻底理解cookie,session,localStorage(附代码)
2019独角兽企业重金招聘Python工程师标准>>> 1. cookie 1.1 什么是cookie cookie 是存储于访问者的计算机中的变量.每当同一台计算机通过浏览器请求某 ...
- 2、cookie session token详解
cookie session token详解 转自:http://www.cnblogs.com/moyand/ 发展史 1.很久很久以前,Web 基本上就是文档的浏览而已, 既然是浏览,作为服务器, ...
- 基于requests模块的cookie,session和线程池爬取
基于requests模块的cookie,session和线程池爬取 有些时候,我们在使用爬虫程序去爬取一些用户相关信息的数据(爬取张三"人人网"个人主页数据)时,如果使用之前req ...
- .net session 有效时间_Python中requests模拟登录的三种方式(携带cookie/session进行请求网站)...
这篇文章主要介绍了python中requests模拟登录的三种方式(携带cookie/session进行请求网站),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋 ...
- C# 系统应用之Cookie\Session基础知识及php读取Cookie\Session
本文主要是毕业设计"个人电脑使用记录清除软件"系列系统应用文章中关于Cookie方面的知识,主要从介绍Cookie的基础知识和PHP关于Cookie\Session两个会话管理机制 ...
- 会话Cookie及session的关系(Cookie Session)
会话Cookie及session的关系(Cookie & Session) 在通常的使用中,我们只知道session信息是存放在服务器端,而cookie是存放在客户端.但服务器如何使用sess ...
- node --- [express] cookie/session 机制与 中间件的使用(路由守卫)
说明 源代码 记忆.遗忘回顾 使用 cookie/session 机制,让 客户端/服务器 的访问变得有状态 cookie 与 session 由于 HTTP 协议的无状态性,当一次连接断开后. 服务 ...
- php cookie 字串,php入门(字符串,cookie,session)
php入门(字符串,cookie,session),有需要的朋友可以参考下. 字符串 获取字符串的长度: strlen()函数 获取中文字长echo mb_strlen($str,"UTF8 ...
- cookie session token 之间的区别
cookie 和session的区别 1.cookie数据存放在客户的浏览器上,session数据放在服务器上. 2.cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗 ...
最新文章
- Linux入门(四)
- AI志愿超强攻略|中国高校AI专业最全院校排名课程对比(附链接)
- 再次修订后的版本。。。。。。1.0(发布版,射线求交三角形)
- 数据库分库分表(持续更新中)
- 【开机自启】属于你的个性化!八步完成喜欢的软件开机自启!
- 基于nodejs实现每天固定时间发送邮件服务
- 说一下 JVM 的主要组成部分?及其作用?
- 新知客:现代“买椟还珠”故事
- 2019黑马python面试资料_2019最新Python黑马头条推荐系统项目
- autoconf常用宏
- python重复命令_Python简化重复命令教案
- vue项目,cli-3.0项目部署运行报错:Uncaught SyntaxError: Unexpected token
- 201521123060 《Java程序设计》第11周学习总结
- 阿里巴巴获评《福布斯》全球最有投资价值公司
- DeskClock选择闹钟声音时有重复选项
- 如何政治正确地黑咪蒙?!
- 【Elasticsearch教程20】Pinyin拼音分词器 以及多音字修改
- 【PTA-乙级】1019 - 数字黑洞(4种解法)(C/C++)
- 智慧养老整体解决方案
- 调查:人工智能技术的应用现状