目录
一)背景介绍
二)Cookie机制
三)Session机制
四)两者比较
五)参考资料链接
一)背景介绍
Cookie与Session是常用的会话跟踪技术。
1.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。

2.为什么会出现cookie机制?
HTTP协议是无状态的协议。一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接。这就意味着服务器无法从连接上跟踪会话。

二)Cookie机制
1.设置cookie的有效期
Cookie cookie = new Cookie(“username”,”helloworld”);
//1.如果maxAge为0,则表示删除该Cookie
//2.maxAge为负数,表示该Cookie仅在本浏览器窗口以及本窗口打开的子窗口内有效,关闭窗口后该Cookie即失效。
//3.如果maxAge为正数,表示Cookie会在maxAge秒之后自动失效。
cookie.setMaxAge(0);
response.addCookie(cookie);

2.cookie的修改和删除
2.1修改某个cookie的值
Cookie cookie = new Cookie(“username”,”helloworld”);
cookie.setMaxAge(0);//删除原来的cookie
….
Cookie cookie2 = new Cookie(“username”,”hellojava”); //新建一个同名的cookie
cookie2.setMaxAge(1*24*60*60);//设置有效期为1天
response.addCookie(cookie2);
2.2删除某个cookie的值
Cookie cookie = new Cookie(“username”,”helloworld”);
cookie.setMaxAge(0);//删除原来的cookie
3.cookie的不可跨域性:cookie无法跨域共享
4.JavaScript操作Cookie

三)Session机制
1.session的常用方法
String getAttribute(String attribute)//获取属性值
String setAttribute(String attribute)//设置属性值
void removeAttribute(String attribute)//移除属性值
String getId()//返回Session的ID。该ID由服务器自动创建,不会重复
long getLastAccessedTime()// 返回Session的最后活跃时间。返回类型为long
int getMaxInactiveInterval() 返回Session的超时时间。单位为秒。超过该时间没有访问,服务器认为该Session失效
void setMaxInactiveInterval(int second) 设置Session的超时时间。单位为秒
void invalidate() 使该Session失效

2.如果浏览器禁用了cookie,可以使用URL地址重写,也可以使用session来记录用户的状态。

四)两者比较:
cookie保持在客户端,session保持在服务器端。
为了获得更高的存取速度,服务器一般把Session放在内存里。每个用户都会有一个独立的Session。如果Session内容过于复杂,当大量客户访问服务器时可能会导致内存溢出。因此,Session里的信息应该尽量精简。

五)参考
http://blog.csdn.net/fangaoxin/article/details/6952954
http://www.cnblogs.com/forcertain/archive/2012/12/04/2801224.html
http://blog.csdn.net/u010003835/article/details/51563337

接下来会继续更新关于cookie和session的内容。会多写一些例子。

Cookie和Session入门(一)的更多相关文章

  1. JavaEE:Cookie和Session

    Cookie是客户端技术,程序把每个用户的数据以cookie的形式写给用户各自的浏览器.当用户使用浏览器再去访问服务器中的web资源时,就会带着各自的数据去.这样web资源处理的就是用户各自的数据了. ...

  2. JavaWeb(二)cookie与session的应用

    前言 前面讲了一堆虚的东西,所以这篇我们来介绍一下cookie和session的应用. 一.使用cookie记住用户名 1.1.思路介绍 1.2.实现代码 1)LoginServlet package ...

  3. JavaWeb系列之八(Cookie&Session)

     1.jsp的入门     jsp就是一个servlet,终于会被编译成servlet,jsp:java server pages,java服务器端页面,包括html+java+jsp的指令    ...

  4. IM开发基础知识补课(四):正确理解HTTP短连接中的Cookie、Session和Token

    本文引用了简书作者“骑小猪看流星”技术文章“Cookie.Session.Token那点事儿”的部分内容,感谢原作者. 1.前言 众所周之,IM是个典型的快速数据流交换系统,当今主流IM系统(尤其移动 ...

  5. javaWeb核心技术第八篇之Cookie和Session

    会话技术: 会话是什么? 浏览器和服务器交互,浏览器打开网页访问服务器,会话开始,正常交互. 浏览器关闭,会话结束. 会话能干什么? 会话可以共享数据. Cookie和session将数据保存在不同的 ...

  6. 一问带你区分清楚Authentication,Authorization以及Cookie、Session、Token

    上周写了一个 适合初学者入门 Spring Security With JWT 的 Demo .Demo 地址:https://github.com/Snailclimb/spring-securit ...

  7. cookie和session。

    Cookie和Session: 会话技术: 1.会话:一次会话中包含多次请求和响应. * 一次会话:浏览器第一次给服务器发送请求,会话建立,直到一方断开为止. 2.功能:在一次会话的范围内的多次请求间 ...

  8. 12 Cookie、Session和JSP基础

    1.会话技术 (1)会话概念:一次会话中包含多次请求和响应.一次会话:浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止 (2)会话功能:在一次会话的范围内的多次请求间,共享数据 (3)会 ...

  9. 【学习】013 Servlet、Cookie、Session的简述

    Servlet核心内容 Sevlet的生命周期(重点) Servlet重要的四个生命周期方法 构造方法: 创建servlet对象的时候调用.默认情况下,第一次访问servlet的时候创建servlet ...

随机推荐

  1. python---pyspider,报错?

    conf.json文件内容如下: { "message_queue": "redis://127.0.0.1:6379/15", "webui&quo ...

  2. redis系列:哨兵

    1 简介 Sentinel(哨兵)是Redis 的高可用性解决方案:通过哨兵可以创建一个当主服务器出现故障时自动将从服务器升级为主服务器的一个分布式系统.解决了主从复制出现故障时需要人为干预的问题. ...

  3. 【C#】 WebApi 路由机制剖析

    C#进阶系列——WebApi 路由机制剖析:你准备好了吗? 转自:https://blog.csdn.net/wulex/article/details/71601478 2017年05月11日 10 ...

  4. JavaScript 判断 Undefined 类型

    var cookiestr = ''; chrome.cookies.getAll( { 'url': 'https://mp.weixin.qq.com', 'secure': true }, fu ...

  5. 选择性搜索(Selective Search)

    1 概述 本文牵涉的概念是候选区域(Region Proposal ),用于物体检测算法的输入.无论是机器学习算法还是深度学习算法,候选区域都有用武之地. 2 物体检测和物体识别 物体识别是要分辨出图 ...

  6. day03-Linux操作系统目录结构

    一. Linux系统目录表示        ‘/’表示根目录:                                                            ‘.’表示当前目录 ...

  7. 转载Json和Xml的区别,以及它们的底层是如何处理的

    XML:可扩展标记语言       JSON:轻量级的数据交换格式 区别: 1.可读性方面:基本相同,Xml的可读性较好些: 2.可扩展性方面:都有较好的扩展性: 3.编码难度方面:json的编码较容 ...

  8. Java基础之对包,类,方法,变量理解(灵感)

    包,类,方法,变量 灵感乍现 感觉就如电脑上的各个大小文档一般,只不过名称不同,用法不同,功效不同,就好比你要调用网上的一个图片,这个图片可以是变量,可以是方法,可以是类.你要调用可以把他幻化成接口, ...

  9. 阿里云linux安装jmeter并进行压测

    一.阿里云linux安装JDK 1.下载安装JDK jdk官网,选择linux版本,下载并保存. (一)yum安装 安装epel的yumyuan yum install epel-release -y ...

  10. spring 和 mybatis 整合过程 (包含分页)

    1.spring-mybatis.xml  : 配置 SqlSessionFactory 和  MapperScannerConfigurer  <bean id="sqlSessio ...