Session是通过Cookie来传id的

转载 2016年08月30日 21:51:41

1、HttpSession session = request.getSession();

根据情况当这句代码需要创建session的时候,服务器每创建一个session都会有一个想对应的session_id,并且服务器会把这个session_id号,会以Cookie的形式

回写给客户端(浏览器),下次同一个用户访问的时候会带这个session_id号过来的。

这样有时候就会出现一个问题,当你把客户端(浏览器)关闭的时候,如果不小心关闭了浏览器,那么Cookie就不存在了。

例如常见的购物车功能,在购物的时候,不小心关闭了浏览器,该用户下次再来访问的时候,上次的记录就不存在了,

所以当session创建的时候,可以把对应创建的session_id存到一个设置有效期的的Cookie当中,那么在你关闭浏览器的时候,在较短时间内,再次打开浏览器,上次的浏览

记录依然还是在的:

通过以下代码可以去实现:

  HttpSession session = request.getSession();
  session.setAttribute("String1", "Object1");
  String session_id = session.getId();
  Cookie cookie = new Cookie("JSESSIONID", session_id);//session_id默认是存放在一个name为JSESSIOINID里面的
  cookie.setPath("上次路径");
  cookie.setMaxAge(30 * 60);// 30 分钟
  response.addCookie(cookie);

2、这里又有了另外一个问题,为什么我上面这段代码设置了Cookie的生命周期,再次打开浏览器的时候,这个Cookie还在呢;而当你创建session并且默认以Cookie的形式

回写给客户端的时候,不小心关闭了浏览器,再次打开的时候Cookie却不存在了?

这里我在网上查阅下关于Cookie的一个生命周期的问题:

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

如果设置了过期时间,浏览器就会把cookie保存到硬盘上,关闭后再次打开浏览器,这些cookie依然有效直到超过设定的过期时间。存储在硬盘上的cookie可以在不同的浏览器进程间共享,比如两个IE窗口。而对于保存在内存的cookie,不同的浏览器还有不同的处理方式。

相关文章推荐

Android客户端访问服务器保持SESSION会话的实现

大家在电脑上登录网上购物商城的时候购物,先进行登录,输入用户名密码,然后看到自己中意的商品就点开它的详情页面查看详细参数,然后决定买不买,在打开详情页面的时候,页面已经实现了跳转,那么第二个页面是服务...

Android 实现 session 保持

最近在开发项目的过程中,遇到 android 与 web 服务器要在同一 session 下通信的问题。先来了解一下 session 机制 和 session 的实现方式: Sess...

android与WEB服务器交互时,如何保证在同一个会话Session中通信

最近在开发项目的过程中,遇到android与web服务器要在同一session下通信的问题。 在解决问题前先回顾下Session与Cookie: Cookie和Session都为了用来保存状态...

Session是通过Cookie来传id的

1、HttpSession session = request.getSession(); 根据情况当这句代码需要创建session的时候,服务器每创建一个session都会有一个想对应的sessi...

Session是通过利用设置在Cookie中的id来区分访问的用户

Session是通过什么区分每一个用户的 参照了网上内容 整合 部分修改

关于django中session id与cookie的理解

最近一直被找工作这件事弄得心烦意乱,因此对于django的学习耽搁了不少,趁今晚比较闲,把这篇补上。原文链接:转载请注明。本文分为几部分来进行介绍: django中session与cookie的概念,...

Session ID/session token 及和cookie区别

转自http://www.makaidong.com/%E5%8D%9A%E5%AE%A2%E5%9B%AD%E6%90%9C/14139.shtml cookie机制采用的是在客户端保持状...

session与cookie区别精选

  • 2017-09-12 10:29
  • 20KB
  • 下载

cookie和session

  • 2014-10-16 14:39
  • 14KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)