Cookie和Session入门(一)
目录
一)背景介绍
二)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入门(一)的更多相关文章
- JavaEE:Cookie和Session
Cookie是客户端技术,程序把每个用户的数据以cookie的形式写给用户各自的浏览器.当用户使用浏览器再去访问服务器中的web资源时,就会带着各自的数据去.这样web资源处理的就是用户各自的数据了. ...
- JavaWeb(二)cookie与session的应用
前言 前面讲了一堆虚的东西,所以这篇我们来介绍一下cookie和session的应用. 一.使用cookie记住用户名 1.1.思路介绍 1.2.实现代码 1)LoginServlet package ...
- JavaWeb系列之八(Cookie&Session)
1.jsp的入门 jsp就是一个servlet,终于会被编译成servlet,jsp:java server pages,java服务器端页面,包括html+java+jsp的指令 ...
- IM开发基础知识补课(四):正确理解HTTP短连接中的Cookie、Session和Token
本文引用了简书作者“骑小猪看流星”技术文章“Cookie.Session.Token那点事儿”的部分内容,感谢原作者. 1.前言 众所周之,IM是个典型的快速数据流交换系统,当今主流IM系统(尤其移动 ...
- javaWeb核心技术第八篇之Cookie和Session
会话技术: 会话是什么? 浏览器和服务器交互,浏览器打开网页访问服务器,会话开始,正常交互. 浏览器关闭,会话结束. 会话能干什么? 会话可以共享数据. Cookie和session将数据保存在不同的 ...
- 一问带你区分清楚Authentication,Authorization以及Cookie、Session、Token
上周写了一个 适合初学者入门 Spring Security With JWT 的 Demo .Demo 地址:https://github.com/Snailclimb/spring-securit ...
- cookie和session。
Cookie和Session: 会话技术: 1.会话:一次会话中包含多次请求和响应. * 一次会话:浏览器第一次给服务器发送请求,会话建立,直到一方断开为止. 2.功能:在一次会话的范围内的多次请求间 ...
- 12 Cookie、Session和JSP基础
1.会话技术 (1)会话概念:一次会话中包含多次请求和响应.一次会话:浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止 (2)会话功能:在一次会话的范围内的多次请求间,共享数据 (3)会 ...
- 【学习】013 Servlet、Cookie、Session的简述
Servlet核心内容 Sevlet的生命周期(重点) Servlet重要的四个生命周期方法 构造方法: 创建servlet对象的时候调用.默认情况下,第一次访问servlet的时候创建servlet ...
随机推荐
- svg 标签
SVG中的’defs’ and ‘use’-可复用的图元定义 在下一个示例中,我使用了defs中的元素之前,定义了如何去展现图元. <?xml version="1.0" s ...
- Entity Relationships
Entity Relationships: Here, you will learn how entity framework manages the relationships between en ...
- Postman工具---请求与响应
参考:http://blog.csdn.net/water_0815/article/details/53311561
- java全栈day08--面向对象
今日内容介绍1.面向对象思想2.类与对象的二者关系3.局部变量和成员变量之间的关系4.封装的思想5.private,this关键字的用途6.案例 01面向对象和面向过程的思想 * A: 面向过程与面向 ...
- Head First HTML与CSS(第2版) 中文pdf扫描版
是不是已经厌倦了那些深奥的HTML书?你可能在抱怨,只有成为专家之后才能读懂那些书.那么,找一本新修订的<Head First HTML与CSS(第2版)>吧,来真正学习HTML.你可能希 ...
- asp 控件定时器 局部刷新
<asp:ScriptManager ID="ScriptManager1" runat="server" /> <asp:UpdatePan ...
- javascript使用ajax方式
ajax请回和回应实例: function showContent(type) { //create obj var xmlhttp; if (window.XMLHttpRequest) { //c ...
- javascript 设计模式实践之策略模式--输入验证
博客地址:http://www.cnblogs.com/kongxianghai/p/4985122.html,写的挺好的推荐下!
- [51nod1237] 最大公约数之和 V3(杜教筛)
题面 传送门 题解 我好像做过这题-- \[ \begin{align} ans &=\sum_{i=1}^n\sum_{j=1}^n\gcd(i,j)\\ &=\sum_{d=1}^ ...
- Linux之杀掉进程
pkill命令可以按照进程名杀死进程.pkill和killall应用方法差不多,也是直接杀死运行中的程序:如果您想杀掉单个进程,请用kill来杀掉. 语法 pkill(选项)(参数) 选项 -o:仅向 ...