1、创建一个新的Cookie

Cookie cookie = new Cookie("username",name);

2、设置cookie在客户端上存活多久

cookie.setMaxAge(30*60);

3、把cookie发送到客户

response.addCookie(cookie);

4、从客户请求得到cookie(或多个cookie)

Cookie[]    cookies=request.getCookies();

for(int i=0-;i<cookies.length;i++){

Cookie cookie=cookies[i];

out.println(cookie.getName()+":"+cookie.getValue())

}

为什么要有cookie和session,以及cookie和session的区别

壮态管理

当用户在发送一个请求关得到返回信息之后,客户端与服务器端之间的网络连接就已经
断开了,在下一个请求发送时,服务器无法确定这次请求和上次的请求是否来自同一个客

户端。也就是说,服务器不能记住"记住"用户,这是hptp协议的限制。在web应用程序中,

实际上是经常需要记住每次请求的。那么,如何让服务器知道不同的请求是否来自同一个

客户端,就是状态管理问题出现了session和cookie。

状态管理
分为客户端和服务器端

服务器端:状态信息保存在服务器端,session (其它:Application,HttpContext,Cache)

客户端:状态信息保存在客户端,cookie (QueryString,ViewState,ControlState,隐藏域)

当客户端向服务器发送请求时,状态信息也随之发送到服务端,从而起到验证客户端来路的目的。

客户端状态不如服务器端的安全性和可靠性高,但服务器端状态会占用服务器端资源,影

响服务器性能。

Session session超过之前    数据大小不限,建议数据尽量少

cookie 可编程控制         数据受cookie大小限制

会话cookie和持久cookie的区别

  如果不设置过期时间,则表示这个cookie生命周期为浏览器会话期间,只要关闭浏览器窗口,cookie就消失了。这种生命期为浏览会话期的cookie被称为会话cookie。会话cookie一般不保存在硬盘上而是保存在内存里。

  如果设置了过期时间,浏览器就会把cookie保存到硬盘上,关闭后再次打开浏览器,这些cookie依然有效直到超过设定的过期时间。

如何使用cookie记录各个用户的访问计数

  1.获取cookie数组中专门用于统计用户访问次数的cookie的值

  2.将值转换成int型

  3.将值加1并用原来的名称重新创建一个Cookie对象

  4.重新设置最大时效

  5.将新的cookie输出

session何时被删除

  session在下列情况下被删除:

  A.程序调用HttpSession.invalidate()

  B.距离上一次收到客户端发送的session id时间间隔超过了session的最大有效时间

  C.服务器进程被停止

cookie和session对象的生命周期是一样的吗

  当用户关闭了浏览器虽然session cookie已经消失,但session对象仍然保存在服务器端

关闭浏览器,只会是浏览器端内存里的session cookie消失,但不会使保存在服务器端的session对象消失,同样也不会使已经保存到硬盘上的持久化cookie消失。

session 和 cookie 的区别与联系的更多相关文章

  1. 详解SESSION与COOKIE的区别

    在PHP面试中 经常碰到请阐述session与cookie的区别与联系,以及如何修改两者的有效时间. 大家都知道,session是存储在服务器端的,cookie是存储在客户端的,session依赖于c ...

  2. session与cookie的区别,有哪些不同之处

    session与cookie的区别,根据自己的理解总结如下: (1)cookie是一种客户端的状态管理技术,将状态写在 浏览器端,而session是一种服务器端的状态管理技术,将 状态写在web服务器 ...

  3. session与cookie的区别与联系

    session与cookie是在做项目中很常用的会话技术,session与cookie也是面试中被问到频率最高的问题,有一次我去面试,面试官就怼着我session与cookie一直问(头都大了),下面 ...

  4. session与cookie的区别以及HTML5中WebStorage理解

    一.session与cookie的区别 二.HTML5中WebStorage理解 WebStorage的目的是克服由cookie所带来的一些限制,当数据需要被严格控制在客户端时,不需要持续的将数据发回 ...

  5. [转]session和cookie的区别和联系,session的生命周期,多个服务部署时session管理

    Session和Cookie的区别 对象 信息量大小 保存时间 应用范围 保存位置 Session 小量,简单的数据 用户活动时间+一段延迟时间(一般为20分钟) 单个用户 服务器端 Cookie 小 ...

  6. session与cookie的区别? 如果客户端禁止 cookie session 还能用吗?

    一.session与cookie的区别 session:Session 是存放在服务器端的,类似于Session结构来存放用户数据,当浏览器 第一次发送请求时,服务器自动生成了一个Session和一个 ...

  7. session和cookie的区别

    cookie机制和session机制的区别     具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案.     同时我们也看到,由于才服务器 ...

  8. session与cookie的区别---

    session和cookie的最大区别在于session是保存在服务端的内存中, 而cookie保存与浏览器或客户端文件里面: session是基于访问的进程,记录了一个访问的开始到结束,当浏览器或进 ...

  9. session与cookie的区别【转】

    我所知道的有以下区别:       1.session保存在服务器,客户端不知道其中的信息:cookie保存在客户端,服务器能够知道其中的信息.       2.session中保存的是对象,cook ...

随机推荐

  1. Python 汉字简体和繁体的相互转换

    其实利用python实现汉字的简体和繁体相互转早有人做过,并发布到github上了,地址:https://github.com/skydark/nstools/tree/master/zhtools ...

  2. PySe-001-基础环境配置(MacOX)

    Python 是一种面向对象.解释型计算机程序设计语言,其源代码同样遵循 GPL(GNU General Public License)协议.Python语法简洁而清晰,具有丰富和强大的类库.由于Py ...

  3. js判断手机访问web网站跳转到手机版

    第一种:直接JS脚本 <script type="text/javascript">try {var urlhash = window.location.hash;if ...

  4. AJAX中UPDATEPANEL配合TIMER控件实现局部无刷新

    首先加入UpdatePanel <asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode= ...

  5. notepad++代码折叠对应的树形结构快捷键

    树形层次,从1开始计数 <!doctype html> <html lang="en" class="1"> <head clas ...

  6. npy in c

    https://jcastellssala.com/2014/02/01/npy-in-c/

  7. Linux版OpenVPN安装、配置教程(转)

    本文将以目前最新的openvpn-2.3.4.tar.gz(更新于2014-5-2,下载地址)为例来介绍如何在Linux系统中安装.配置及使用OpenVPN. 在这里,我们选用了一台预装CentOS ...

  8. MySQL · 性能优化 · 条件下推到物化表

    MySQL · 性能优化 · 条件下推到物化表 http://mysql.taobao.org/monthly/2016/07/08/ 背景 MySQL引入了Materialization(物化)这一 ...

  9. Oracle ORA-12519: TNS:no appropriate service handler found 解决

    有时候连得上数据库,有时候又连不上. 可能是数据库上当前的连接数目已经超过了它能够处理的最大值. select count(*) from v$process --当前的连接数select value ...

  10. ava获得当前文件路径

    第一种: File f = new File(this.getClass().getResource("/").getPath()); System.out.println(f); ...