会话: 

简单理解: 用户开一个浏览器,点击多个超链接,访问服务器多个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的更多相关文章

  1. Cookie和Session的总结

    1.开篇 在之前学习这一段的时候我一直有点没弄清楚,其实对Session这块的理解还可以,但是Cookie感觉始终还是欠缺点火候.之后的很长一段时间都基本上很少用Cookie了,渐渐的也淡忘了这一块的 ...

  2. java的会话管理:Cookie和Session

    java的会话管理:Cookie和Session 1.什么是会话 此处的是指客户端(浏览器)和服务端之间的数据传输.例如用户登录,购物车等 会话管理就是管理浏览器客户端和服务端之间会话过程产生的会话数 ...

  3. Cookie和Session的那些事儿

    Cookie和Session都是为了保持用户的访问状态,一方面为了方便业务实现,另一方面为了简化服务端的程序设计,提高访问性能.Cookie是客户端(也就是浏览器端)的技术,设置了Cookie之后,每 ...

  4. django的cookie和session以及内置信号、缓存

    cookie和session cookie和session的作用: cookie和session都记录了客户端的某种状态,用来跟踪用户访问网站的整个回话.两者最大的区别是cookie的信息是存放在浏览 ...

  5. Cookie和Session的区别

    前言 HTTP是一种无状态的协议,为了分辨链接是谁发起的,就需要我们自己去解决这个问题.不然有些情况下即使是同一个网站我们每打开一个页面也都要登录一下.而Session和Cookie就是为解决这个问题 ...

  6. 本地数据Store。Cookie,Session,Cache的理解。Timer类主要用于定时性、周期性任务 的触发。刷新Store,Panel

    本地数据Store var monthStore = Ext.create('Ext.data.Store', { storeId : 'monthStore', autoLoad : false, ...

  7. Cookie与Session

    再说Cookie与Session之前,先要了解一下http协议. 何为http协议: http协议即超文本传输协议,一种基于浏览器请求与服务器响应的协议,该协议主要的特点就是它是一种无状态的协议(只针 ...

  8. 【转】Cookie和Session区别和联系详解

    会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端 ...

  9. 理解Cookie和Session机制(转)

    目录[-] Cookie机制 什么是Cookie 记录用户访问次数 Cookie的不可跨域名性 Unicode编码:保存中文 BASE64编码:保存二进制图片 设置Cookie的所有属性 Cookie ...

  10. cookie 和session 的区别详解

    这些都是基础知识,不过有必要做深入了解.先简单介绍一下. 二者的定义: 当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择, 都纪 ...

随机推荐

  1. 【html】【1】html的简单结构

    1>我们为什么能打开html网页 计算机本身有个配置文件后缀打开程序的默认,好比:.txt =>记事本打开   html=>浏览器打开 文件一切的鼻祖都起源于.txt文件,你只要修改 ...

  2. C++专题 - Qt是什么

    Qt是一个1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架.它既可以开发GUI程式,也可用于开发非GUI程式,比如控制台工具和服务器.Qt是面向对象的框架,使用特殊的代码生成扩展(称 ...

  3. Java面向对象程序设计--与C++对比说明:系列2(类机制)

    1. Java中的包机制(Package): 1.1   Java容许将一系列的类组合到一个叫package的集合中.package机制是一种非常好的管理工作的方式并可以将你自己的工作和系统或第三方提 ...

  4. demo_04绘制三角形

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  5. mysql慢速查询

    linux下配置慢查询: 修改my.cnf文件,在[mysqld]模块下添加 #slow_query_log=1 有些人说这个是slow_query的开关,但是我加上以后提示错误.log_slow_q ...

  6. 【python】由一个小例子看出python的灵活性,IF ELSE一例

    temp = input("请输入1到100之间的数字:") num = int(temp) if 1 <= num <= 100:                   ...

  7. ubuntu下openGL的配置方法

    This is a simple tutorial to show a new linux user (such as myself) how to setup freeglut and OpenGl ...

  8. C语言中”#x“的含义

    #x 的含义是给x添加“”,也就是说将字符常量.常量转换为字符串常量

  9. sql如果存在就修改不存在就新增

    FROM 表名 WHERE 条件) UPDATE 表名 SET 字段=值 WHERE 条件 ELSE INSERT INTO 表名(字段) VALUES(值) 真实使用举例: from [UserRu ...

  10. [Codeforces Round #296 div2 D] Clique Problem 【线段树+DP】

    题目链接:CF - R296 - d2 - D 题目大意 一个特殊的图,一些数轴上的点,每个点有一个坐标 X,有一个权值 W,两点 (i, j) 之间有边当且仅当 |Xi - Xj| >= Wi ...