目录
一)背景介绍
二)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. Netty中的Future

    先看下Future的整个继承体系,还有一个ChannelFuture不在里面:     在并发编程中,我们通常会用到一组非阻塞的模型:Promise,Future 和 Callback.其中的 Fut ...

  2. ASP.NET常用数据绑定控件优劣总结

    本文的初衷在于对Asp.net常用数据绑定控件进行一个概览性的总结,主要分析各种数据绑定控件各自的优缺点,以便在实际的开发中选用合适的控件进行数据绑定,以提高开发效率. 因为这些数据绑定控件大部分都已 ...

  3. GridView里的按钮事件

    http://www.cnblogs.com/insus/archive/2012/09/22/2697862.html using System;using System.Collections.G ...

  4. char 与 unsigned char的区别和取值范围

    1.char和unsigned char 都是一个byte,8个bit.char是无符号类型,首位bit是符号位. 2.取值范围不同: (1)unsigned char的取值范围:0~2^8-1(0~ ...

  5. js流程控制;常用内置对象

    一.流程控制 1.if .if-else.if-else if-else var ji = 20; if(ji >= 20){ console.log('大吉大利,晚上吃鸡') } alert( ...

  6. 「FJ2014集训」采药人的路径

    啦啦啦 来写一篇题解 洛谷链接: P4930 「FJ2014集训」采药人的路径 统计路径?嗯往点分治上想. 把0和1转化为-1和1,求和完dis为0的路径就是阴阳平衡的路径了. 如果题目没有限制要有中 ...

  7. luogu2522 [HAOI2011]Problem b

    luogu2522[HAOI2011]Problem b 对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公 ...

  8. node mysql问题:Client does not support authentication protocol requested by server; consider upgrading MySQL client!

    node后台 mysql处理模块(版本:2.16.0) 执行connect方法时报错: Client does not support authentication protocol requeste ...

  9. Jmeter 集成Excel读写接口参数返回值

    输入VIN然后获取返回值json 串,拼接非规则json 标题头 以下是返回的json串 { "error": "success", "result& ...

  10. Ruby truthy and falsey

    在Ruby里只有false 和nil表示falsey link: https://gist.github.com/jfarmer/2647362