Cookie 和Session
会话:
简单理解: 用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话。
会话要解决的问题:
每个用户与服务器进行交互的过程中,各自会有一些数据,程序要想办法保存每个用户的数据。
比如:
用户点击超链接通过一个servlet购买一个商品,程序应该保存用户购买的商品,以便于用户点击结账servlet的时候,可以得到用户购买的商品进行结账
在就涉及到在程序中怎么保存用户数据的问题(也就是cookie和session的全部问题)
前面讲的两个容器都不行了
Request是不行的
购买和结账不是一个servlet对象,也就不是一个request
servletContext也不行,这是一个全局变量
只有用到Cookie和Session
Cookie
客户端技术,程序把用户的数据以cookie的形式写给用户各自的浏览器。当用户使用浏览器再去访问服务器的web资源时候,就会带着各自的cookie数据过去,这样,web资源处理的就是用户各自的数据了
Session
服务器端技术。服务器在运行时可以为每一个用户的浏览器创建一个独享的session对象
用户在访问服务器web资源时,可以把各自数据放在各自的session中,当用户再去访问服务器中的其他web资源时,其他web资源再从用户各自的session中取出数据
Cookie
探讨几个问题:
- 怎么创建Cookie
- Cookie如何封装数据
- 如何回写给浏览器(向客户机写数据都是用response,里面有一个addCookie方法)
- 浏览器访问服务器,如果带着cookie,服务器怎么获取(获取用户数据使用request,里面有一个getCookie方法)
基本上通过API都可以实现
setMaxAge Cookie生命周期
没有设置的话默认是浏览器进程,浏览器关闭就消失。如果设置了,写到本地硬盘
setPath 设置cookie有效目录,即在访问该目录下的所有资源才带着Cookie
setDomain 设置有效域
比如设置成.sina.com,那么它就会带着一个这样的cookie过去
不过这种做法会被IE禁止,因为这属于第三方cookie
细节:
应用:
1.显示用户上次访问时间
清除上次访问时间有两种方式:
- 设置maxAge为0
- 用javascript删除cookie
2. 显示商品浏览历史纪录
Cookie 和Session的更多相关文章
- Cookie和Session的总结
1.开篇 在之前学习这一段的时候我一直有点没弄清楚,其实对Session这块的理解还可以,但是Cookie感觉始终还是欠缺点火候.之后的很长一段时间都基本上很少用Cookie了,渐渐的也淡忘了这一块的 ...
- java的会话管理:Cookie和Session
java的会话管理:Cookie和Session 1.什么是会话 此处的是指客户端(浏览器)和服务端之间的数据传输.例如用户登录,购物车等 会话管理就是管理浏览器客户端和服务端之间会话过程产生的会话数 ...
- Cookie和Session的那些事儿
Cookie和Session都是为了保持用户的访问状态,一方面为了方便业务实现,另一方面为了简化服务端的程序设计,提高访问性能.Cookie是客户端(也就是浏览器端)的技术,设置了Cookie之后,每 ...
- django的cookie和session以及内置信号、缓存
cookie和session cookie和session的作用: cookie和session都记录了客户端的某种状态,用来跟踪用户访问网站的整个回话.两者最大的区别是cookie的信息是存放在浏览 ...
- Cookie和Session的区别
前言 HTTP是一种无状态的协议,为了分辨链接是谁发起的,就需要我们自己去解决这个问题.不然有些情况下即使是同一个网站我们每打开一个页面也都要登录一下.而Session和Cookie就是为解决这个问题 ...
- 本地数据Store。Cookie,Session,Cache的理解。Timer类主要用于定时性、周期性任务 的触发。刷新Store,Panel
本地数据Store var monthStore = Ext.create('Ext.data.Store', { storeId : 'monthStore', autoLoad : false, ...
- Cookie与Session
再说Cookie与Session之前,先要了解一下http协议. 何为http协议: http协议即超文本传输协议,一种基于浏览器请求与服务器响应的协议,该协议主要的特点就是它是一种无状态的协议(只针 ...
- 【转】Cookie和Session区别和联系详解
会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端 ...
- 理解Cookie和Session机制(转)
目录[-] Cookie机制 什么是Cookie 记录用户访问次数 Cookie的不可跨域名性 Unicode编码:保存中文 BASE64编码:保存二进制图片 设置Cookie的所有属性 Cookie ...
- cookie 和session 的区别详解
这些都是基础知识,不过有必要做深入了解.先简单介绍一下. 二者的定义: 当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择, 都纪 ...
随机推荐
- C#程序将对象保存为json文件的方法
首先,从NuGet上下载JSON .Net,安装到所需项目中. 对象obj保存到文件的步骤: 1. 创建文件 // 获取当前程序所在路径,并将要创建的文件命名为info.json string fp ...
- jQuery无刷新上传学习心得
记得刚离开大学,进入目前这家公司不到一个月时,有一位前辈给我们当时的新人讲了下JS无刷新上传的相关知识. 在此之前,一直都是在使用C#提供的服务器上传控件FileUpload,但是每次使用时,都会刷新 ...
- ios专题 - APP设计流程
网上看到这篇文章,觉得基本的flow很有帮助,转过来收藏了:作者:关于Sarah Parmenter英国艾塞克斯(英国英格兰东南部的郡)Youknowwho设计工作室的创始人,Sarah Parmen ...
- 月薪10K必备--C#下拉框联动
下拉框联动 很多网站上都用到下拉框联动,就是第一个下拉框没有选择任何项,第二个下拉框就没有选项.这样的做法更加谨慎,更加紧密. 下面我就教大家怎么做下拉框联动: 首先在窗 ...
- vs2010 “发生生成错误,运行上次的成功运行的程序”怎么改回不运行。
当程序出现错误时,会出现下面对话框: 如果选择"是",并且勾选了"不再显示此对话框",对你以后的操作时非常麻烦的. 许多同学想再次调出次窗口,不知道怎么操作,操 ...
- 关于C#的那点事........
起源 C#(读做C-sharp)编程语言是由微软公司的Anders Hejlsberg和 Scott Willamette领导的开发小组专门为.NET平台设计的语言,它可以使程序员移植到.NET上.这 ...
- 如何删除github上的项目
如果大伙用过github,那么就会知道它上面没有明显的选项可以让你直接删除掉一个Repositories或者项目.因此对很多github的新手来说一开始也常觉得这个事情比较犯难.这里我给大家简单介绍一 ...
- 2016022602 - redis安装和启动
redis安装 我使用的是ubuntu15.1,打开终端,输入命令:sudo apt-get install redis-server 将会在本机安装上redis. 启动redis 启动redis命令 ...
- 编译hadoop版的hello,world
cd ~/src mkdir classes javac -classpath ~/hadoop-/hadoop--core.jar WordCount.java -d classes jar -cv ...
- BZOJ 3676 回文串
Description 考虑一个只包含小写拉丁字母的字符串\(s\).我们定义\(s\)的一个子串\(t\)的"出现值"为\(t\)在\(s\)中的出现次数乘以\(t\)的长度.请 ...