1、会话技术概述

从打开浏览器访问某个站点,到关闭这个浏览器的整个过程,称为一次会话。会话技术用于记录本次会话中客户端的状态与数据。

会话技术分为Cookie和Session:

  • Cookie:数据存储在客户端,减少服务器端的压力,安全性不好,客户端可以清除Cookie
  • Session:将数据存储到服务器端,安全性相对好,增加了服务器端的压力

2、Cookie技术

服务器端向客户端发送Cookie信息:

  • 创建Cookie:Cookie cookie = new Cookie(String cookieName, String cookieValue); Cookie中不能设置中文
  • 设置Cookie在客户端的持久化时间:cookie.setMaxAge(int seconds); 不设置持久化时间,cookie信息被存储在浏览器内存中,浏览器关闭时,cookie信息销毁,当设置了持久化时间时,cookie信息会被持久化到硬盘上,过期浏览器自动删除该cookie。
  • 设置cookie的携带路径:cookie.setPath(String path),不设置时,该cookie信息会在访问该cookie的web资源所在的路径都携带cookie信息
  • 向客户端发送cookie:response.add(String cookie);
  • 删除客户端cookie:设置同名同路径的持久化时间为0的cookie进行覆盖

服务器端接受客户端携带的Cookie:

  • 获得cookie:Cookie[] cookies = response.getCookies();
  • 取得指定名字的cookie:
 for(Cookie cookie : cookies){
  if(cookie.getName().equal(cookieName)){
    String cookieValue = cookie.getValue();
  }
}

3、Session技术

获得Session对象:HttpSession session = request.getSession();

  用于获取当前会话的Session对象,如果服务器端没有该Session对象会创建一个新的Session返回,如果有直接去得该Session对象返回。

向Session中存取数据

  session.setAttribute(String name, Object obj);

  session.getAttribute(String name);

  session.removeAttribute(String name);

Session对象的生命周期

  销毁:服务器非正常关闭或session过期(session默认30分钟,从不开始操作服务器端开始),手动销毁,session.invalidate();

  作用范围:默认在一次会话中

  

会话技术Cookie&Session的更多相关文章

  1. java ->会话技术Cookie&Session

    会话技术Cookie&Session 会话技术简介 存储客户端的状态 由一个问题引出今天的内容,例如网站的购物系统,用户将购买的商品信息存储到哪里?因为Http协议是无状态的,也就是说每个客户 ...

  2. Web核心之会话技术Cookie&Session

    什么是会话技术? http协议是无状态协议.为了满足在多次请求之间数据进行交互,推出了会话技术. 会话概念:一次会话,指的是从客户端和服务器建立起连接开始,到客户端或服务器断开连接为止.中间可能进行多 ...

  3. JavaWeb学习笔记五 会话技术Cookie&Session

    什么是会话技术? 例如网站的购物系统,用户将购买的商品信息存储到哪里?因为Http协议是无状态的,也就是说每个客户访问服务器端资源时,服务器并不知道该客户端是谁,所以需要会话技术识别客户端的状态.会话 ...

  4. JavaEE之会话技术Cookie&Session

    会话技术简介 存储客户端的状态 由一个问题引出今天的内容,例如网站的购物系统,用户将购买的商品信息存储到哪         里?因为Http协议是无状态的,也就是说每个客户访问服务器端资源时,服务器并 ...

  5. 03012_会话技术Cookie&Session

    1.会话技术简介 (1)存储客户端的技术 网站的购物系统,用户将购买的商品信息存储到哪里?因为Http协议是无状态的,也就是说每个客户访问服务器端资源时,服务器并不知道该客户端是谁,所以需要会话技术识 ...

  6. Django2.2 会话技术cookie session token的区别以及实例介绍

    一.区别: 本人见解:使用自定义数据项进行加密,作为唯一身份识别,登陆时写入cookie(session基于这个).在显示相关数据 1.cookie 属于客户端会话技术(数据存储在客户端) 默认的Co ...

  7. 会话技术 Cookie+Session

    会话:这种在多次HTTP连接间维护用户与同一用户发出的不同请求之间关联的情况称为维护一个会话(session) 一次会话:浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开: 功能:在一次会话 ...

  8. Servlet 会话技术cookie和session

    会话技术 Cookie技术:会话数据保存在浏览器客户端. Session技术:会话数据保存在服务器端. 一.Cooke技术 1. 特点 Cookie技术:会话数据保存在浏览器客户端. 2 .Cooki ...

  9. 会话技术cookie与session

    目录 会话技术cookie 会话技术 cookie 服务器怎样把Cookie写 给客户端 服务器如何获取客户端携带的cookie session session简介 Session如何办到在一个ser ...

随机推荐

  1. js取消radio选中 反选

    var radio=document.createElement("input");radio.type="radio";radio.onclick = fun ...

  2. hibernate 一对多关联

    package com.bjsxt.hibernate; import java.util.HashSet; import java.util.Set; import javax.persistenc ...

  3. arm-linux内核start_kernel之前启动分析(1)-接过bootloader的衣钵

    前段时间移植uboot细致研究过uboot启动过程,近期耐不住寂寞.想对kernel下手. Uboot启动过程分析博文连接例如以下: http://blog.csdn.net/skyflying201 ...

  4. 【转载】C#根据当前时间获取周,月,季度,年度等时间段的起止时间

    DateTime dt = DateTime.Now; //当前时间 DateTime startWeek = dt.AddDays(1 - Convert.ToInt32(dt.DayOfWeek. ...

  5. Josephus排列

    思考与分析: 对于m为常数,能够用循环链表,用head,tail标志头尾指针使其易于表示循环结构.循环输出后删除结点n次,每次外层循环时.内层都固定循环m次.所以执行时间为O(mn)=O(n). 对于 ...

  6. MySQL监控脚本

    zabbix监控mysql时自定key用到的脚本 #!/usr/bin/env python #-*- coding: UTF-8 -*- from __future__ import print_f ...

  7. object-c全局变量

    跟c++一定,在.m里Obj*obj=NULL,在.h里extern Obj*obj 即可.

  8. MySQL加速查询速度的独门武器:查询缓存

    [导读] 与朋友或同事谈到MySQL查询缓存功能的时候,个人喜欢把查询缓存功能Query Cache比作荔枝, 是非常营养的东西,但是一次性吃太多了,就容易上火而流鼻血,虽然不是特别恰当的比喻,但是有 ...

  9. Android ART介绍

    1.ART之所以会比Dalvik快,是由于ART运行的是本地机器指令,而Dalvik运行的是Dex字节码.通过通过解释器运行. 虽然Dalvik也会对频繁运行的代码进行JIT生成本地机器指令来运行,但 ...

  10. springmvc-servlet.xml

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...