之前,总是使用Session,Cookie接触的比较少,通过这次的项目,使我了解了,这两者的关系与用法。首先先简单聊几句两者的概念:

Session是客户端与服务器的会话,session是存储在服务器端的。通常用户登录之后,用户信息存储在session之中。Session在服务器中是有生命周期的。可以在web.xml中进行配置。默认应该是30分钟。

Cookie是存储在客户端之中的。Cookie存储的是sessionID。

下面我通过一个实例,来介绍一下这两者。一个用户登录的例子,虽然例子很简单,但是能真正做好的,还真不容易。

首先服务器启动,通过index.jsp会默认跳转到ProfileSvl.java中,这个类作为系统的入口,主要作用是验证用户是否登录过。希望达到一个效果,第一次登录,是登录页面。登录过之后在规定时间之内再登陆,跳过登录页面,直接到主页。

ProfileSvl.java中主要语句如下:

if(request.getSession().getAttribute("user") != null)

{

request.getRequestDispatcher("productSvl").

forward(request, response);

}

else

request.getRequestDispatcher("login.jsp").

forward(request, response);

对这个部分解释一下:因为用户访问服务器就会生成一个session并且生成一个SessionID,返回给客户端。客户端的Cookie会自动的记录SessionID。下一次如果客户端与服务器再次建立连接,客户端会Cookie携带SessionID访问服务器。这个时候,就可以通过request.getSession().getAttribute("user")这个方法来判断服务器中这个session是否保存了user这个信息。因为如果第一次登录之后,会在服务器中session部分,建立user映射。

注意:下面这段话是我个人理解和总结的,没有得到理论认证,我先写出来,如果有高手发现错误,请批评指正。每一个Cookie里面都隐藏了一个SessionID。Cookie创建的时候:

Cookie cookie=new Cookie("str","");

Cookie cookie1=new Cookie("str","sss");

可以创建很多str同名的cookie,但是要求cookie中的sessionID必须是不同的,如果是包含同一个SessionID的cookie,那么如果名字相同,那么cookie会进行覆盖。

PS:这个部分可以通过filter过滤器来实现,在这里只为了说明问题。

转载于:https://www.cnblogs.com/hainange/archive/2013/05/01/6153639.html

Cookie和Session的关系(个人理解)相关推荐

  1. 会话Cookie及session的关系(Cookie Session)

    会话Cookie及session的关系(Cookie & Session) 在通常的使用中,我们只知道session信息是存放在服务器端,而cookie是存放在客户端.但服务器如何使用sess ...

  2. 程序员过关斩将--cookie和session的关系其实很简单

    喜欢就点关注吧! 月高风下,下班路上.... 菜菜哥,告诉你一个秘密,但是不允许告诉任何人 这么秘密,你有男票了?~ 不是,昨天我偷偷去面试了,结果挂了 这不是好事吗,上天让公司留住你..... 好吧 ...

  3. php会话控制区别和流程,PHP会话控制:cookie和session区别与用法深入理解_后端开发...

    PHP Swoole 基本使用_后端开发 Swoole是php的一个异步.并行.高性能的网络通信引擎,可以用Swoole做一些想http.websocket的服务器,Swoole提供了异步多线程服务器 ...

  4. cookie和session的那些事儿

    COOKIE介绍 cookie 常用于识别用户.cookie 是服务器留在用户计算机中的小文件.每当相同的计算机通过浏览器请求页面时,它同时会发送 cookie.通过 PHP,您能够创建并取回 coo ...

  5. Django:Admin,Cookie,Session

    一. Admin的配置 1.Admin基础设置 admin是django强大功能之一,它能够从数据库中读取数据,呈现在页面中,进行管理.默认情况下,它的功能已经非常强大,如果你不需要复杂的功能,它已经 ...

  6. 程序员过关斩将--互联网人必备知识cookie和session认证

    菜菜,上次你说的cookie和session的文章,我觉得不太具体 那你想怎么样具体呢? 我自己从网上查了一下,很多关于cookie和session认证的,能不能给我讲讲 用户认证呀,可以呀 这样我下 ...

  7. Cookie&Session

    Cookie&Session 背景:Cookie和Session的原理.作用及如何设置和相关面试. 一.诞生背景 HTTP是无状态的,即服务器无法知道两个请求是否来自同一个浏览器,也就是服务器 ...

  8. 深入理解cookie和session

    cookie和session在java web开发中扮演了十分重要的作用,本篇文章对其中的重要知识点做一些探究和总结.(转发自https://www.cnblogs.com/roy-blog/p/82 ...

  9. [html] 说说你对cookie和session的理解

    [html] 说说你对cookie和session的理解 cookie: 可以通过客户端, 服务端设置, 容量小, 可以通过设置domain来实现同步登录, 除了name, value, 它还有多个选 ...

最新文章

  1. 客快物流大数据项目(五十三):实时ETL模块开发准备
  2. python多个日志模块怎么隔离_在多个模块中使用Python日志logging
  3. 网络即服务(NaaS)是什么???
  4. SQL Server blocking session
  5. 如何使 FlashGet 正常合法 下载 Session 中的自定义文件链接呢? JSP/Servlet 实现!
  6. python generator_Python Generator漫谈
  7. jQuery 的属性操作方法
  8. php中memcache的使用,PHP中使用memcache
  9. [微信小程序开发] 用wx.navigateTo方法跳转到tabBar中被定义了的页面将无法跳转
  10. srand函数_SUDA-CS考研复试常用函数
  11. atitit.编程语言会形成进化树--哪些特性会繁荣??通才还是专才的选型 现代编程语言的特性总结
  12. zsh重启后环境变量失效
  13. office2007过期后没有输入序列号对话框的激活方法
  14. java 学习资料 分享
  15. BeanNotOfRequiredTypeException,Bean named ‘xx‘ is excepted to be of type ‘xx‘ but was ‘$Proxy30 ‘
  16. 关于企业邮箱域名备案方法
  17. 图片到eps的批量转换BAT脚本
  18. canvas实现图像裁剪
  19. 揭开网格化管理平台的“面纱”
  20. android 删除wifi文件,删除无线网络连接信号(wifi)(图文教程)

热门文章

  1. JS设置Cookie,及COOKIE的限制
  2. C语言学习笔记(5)
  3. (二)元学习算法MAML简介及代码分析
  4. Linux 下安装Eclipse C++
  5. 相机标定(三)—— 正交投影和透视投影变换
  6. @entity 不限字节长度的类型_面试常考,项目易错,长文详解C/C++中的字节对齐...
  7. mac os x 10.11 php7,mac osx 10.11.2安装PHP7提示“configure: error: libcrypto not found!”
  8. java spring server_java server之spring中的IOC如何用java实现?
  9. oracle内连接时列的值是null,Oracle SQL - 比较空值时的JOIN性能
  10. python pow_Python pow()