Cookie与Session深入理解(一)——Cookie

2023-10-31

基本操作

HttpServletRequest request;
HttpServletResponse response

//1、获取cookies
Cookie[] cookieList = request.getCookies();

//2、根据cookieName获取值,遍历cookieList
String retValue = null;
for (int i = 0; i < cookieList.length; i++) {
    if (cookieList[i].getName().equals(cookieName)) {
        retValue = cookieList[i].getValue();
        break;
    }
}
return retValue;

//3、设置cookie
Cookie cookie = new Cookie(cookieName, cookieValue);
//设置过期时间,为负数表示临时cookie,保存在内存中,浏览器窗口关闭即结束
cookie.setMaxAge(cookieMaxage);
//设置生成该cookie的域名,如domain="yc.net"
cookie.setDomain("yc.net");
//该cookie实在当前哪个路径下生成的,如path=/blog/
cookie.setPath("/blog/");
response.addCookie(cookie);

//4、删除cookie,将MaxAge设置为0
Cookie cookie = new Cookie(cookieName, "");
cookie.setMaxAge(0);
response.addCookie(cookie);

//5、中文字符需要编码,解码
//编码
cookieValue = URLEncoder.encode(cookieValue, "utf-8");
//解码
retValue = URLDecoder.decode(cookieList[i].getValue(), "utf-8");

cookie的setPath方法使用
正常的cookie只能在一个应用中共享,即一个cookie只能由创建它的应用获得。
1.可在同一应用服务器内共享方法:设置cookie.setPath(“/”);
本机tomcat/webapp下面有两个应用:webapp_a和webapp_b,
1)原来在webapp_a下面设置的cookie,在webapp_b下面获取不到,path默认是产生cookie的应用的路径。
2)若在webapp_a下面设置cookie的时候,增加一条cookie.setPath(“/”);或者cookie.setPath(“/webapp_b/”);
就可以在webapp_b下面获取到cas设置的cookie了。
3)此处的参数,是相对于应用服务器存放应用的文件夹的根目录而言的(比如tomcat下面的webapp),因此cookie.setPath(“/”);之后,可以在webapp文件夹下的所有应用共享cookie,而cookie.setPath(“/webapp_b/”);
是指cas应用设置的cookie只能在webapp_b应用下的获得,即便是产生这个cookie的webapp_a应用也不可以。
4)设置cookie.setPath(“/webapp_b/jsp”)或者cookie.setPath(“/webapp_b/jsp/”)的时候,只有在webapp_b/jsp下面可以获得cookie,在webapp_b下面但是在jsp文件夹外的都不能获得cookie。
5)设置cookie.setPath(“/webapp_b”);,是指在webapp_b下面才可以使用cookie,这样就不可以在产生cookie的应用webapp_a下面获取cookie了
6)有多条cookie.setPath(“XXX”);语句的时候,起作用的以最后一条为准。

cookie.setDomain方法设计跨域共享
A机所在的域:home.langchao.com,A有应用webapp_a
B机所在的域:jszx.com,B有应用webapp_b
1)在webapp_a下面设置cookie的时候,增加cookie.setDomain(“.jszx.com”);,这样在webapp_b下面就可以取到cookie。
2)输入url访问webapp_b的时候,必须输入域名才能解析。比如说在A机器输入:http://lc-bsp.jszx.com:8080/webapp_b,可以获取webapp_a在客户端设置的cookie,而B机器访问本机的应用,输入:http://localhost:8080/webapp_b则不可以获得cookie。
3)设置了cookie.setDomain(“.jszx.com”);,还可以在默认的home.langchao.com下面共享

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Cookie与Session深入理解(一)——Cookie 的相关文章

  • Elasticsearch知识点

    目录 1 什么是Elasticsearch 2 Elasticsearch的特点 3 Elasticsearch基础概念 4 Elasticsearch基本数据类型 看这里 5 Elasticsearch基本检索类型 5 1 检索和过滤 5
  • jsp&servlet&jdbc&mysql实现简单的增删查改(一)

    1 关于JDBC JDBC Java DataBase Connectivity 是一种用于执行SQL语句的Java API 是Java和数据库之间的一个桥梁 它由一组用Java语言编写的类和接口组成 各种不同类型的数据库都有相应的实现类
  • 在Vue下如何用js代码将13位的时间戳数据转换成正常显示的时间?

    问题描述 在使用Vue时 如果页面没有渲染完成 通过js代码是拿不到页面上数据的 而我们又想通过js操作数据时 就需要通过一些特别的方法 网上有各种方法 但是大部分都解释的比较模糊 这是我的一些小总结 由于不是专门玩前端的 但是又不想用vu
  • javaWeb数据库连接池,过滤器和监听器

    数据库连接池 JDBC 1 什么是数据库连接池 是一个数据库的工具 能够分配 管理和释放数据库连接 它允许应用程序重复使用一个现有的数据库连接 而不是再重新建立一个 常见数据库连接池 C3P0 是一个开放源代码的JDBC连接池 它在lib目
  • mybatis中关于example类详解mybatis的Example[Criteria]的使用

    一 什么是example类 mybatis generator会为每个字段产生如上的Criterion 如果表的字段比较多 产生的Example类会十分庞大 理论上通过example类可以构造你想到的任何筛选条件 在mybatis gene
  • 数据库设计DDL

    DDL 数据定义语言 用来定义数据库对象 数据库 表 DDL 数据库操作 查询 查询所有数据库 show databases 查询当前数据库 select database 使用 使用数据库 use 数据库名 创建 创建数据库 create
  • Request 获取请求数据(方法)

    1 Request 继承体系 2 Request 获取请求数据 2 1 请求行 String getMethod 获取请求方式 GET String getContextPath 获取虚拟目录 项目访问路径 request demo Str
  • Springboot 实现发送邮件功能,使用QQ邮箱

    引入依赖
  • 通俗易懂权限管理模块设计-Java

    最近一直在做CMS系统 发现一些内容其实都是重复出现的 例如权限管理模块 权限管理模块就是为了管理用户是否有权利访问某个权限 如果不能则拒绝访问 其实Java中已经有很成熟的权限管理框架 例如 Shiro Spring Security等
  • javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint

    java 验证出现如下错误 javax validation UnexpectedTypeException HV000030 No validator could be found for constraint 错误原因 Java实体类中
  • 利用MVC做一个 常见的管理系统

    登陆的部分 gt 数据库 gt 表 admin id name pass regtime 表与类的映射关系 基于面向对象 转换成对象的操作 gt 登陆页面
  • ie11对象不支持此属性和方法 ie11的缓存问题

    更改eclipse的js代码 在ie11上调试 发现调用新更改的方法 在ie11的console输出里 一直提示 对象不支持此属性和方法 点击右上角设置图标 然后点击Internet选项 在常规选项卡里的 浏览器历史记录 点击设置 在弹出的
  • IntelliJ Idea 常用快捷键 列表(实战终极总结!!!!)

    自动代码 常用的有fori sout psvm Tab即可生成循环 System out main方法等boilerplate样板代码 例如要输入for User user users 只需输入user for Tab 再比如 要输入Dat
  • Servlet接口实现类

    JavaWeb 03 Servlet 02 Servlet接口实现类 1 什么是Servlet接口 有什么用 Servlet接口来自于Servlet规范中的一个接口 这个接口存在于Http服务器所提供的jar包中 Servlet接口的具体位
  • javaweb——Response下载文件

    HttpServletResponse web服务器接收到客户端的http请求 针对这个请求分别创建一个代表请求的HttpServletResponse对象 一个代表响应的HttpServletResponse对象 如果要获取客户端请求过来
  • 解决Jenkins插件不能下载安装的问题

    安装到这一步 显示无法下载Jenkins插件 安装中升级站点 如果你还在安装过程中 遇见这个问题 你可以打开一个新的网页 输入网址http localhost 8080 pluginManager advanced 在最下面的升级站点 把其
  • 浏览器发器POST请求

    浏览器按F12或打开开发者工具 在console 控制台 标签页下输入 fetch new Request http localhost 8080 power font getToken method POST headers Conten
  • 【Maven】maven如何配置本地仓库?

    前言 很多小伙伴不清楚怎么配置maven本地仓库 这里给大家分享一下方法 如果觉得有用的话 记得点赞支持哦 1 创建新的路径 maven默认的存放路径是C盘 在你想要的位置创建一个存放maven repository的路径 我是创建在了D盘
  • 域名解析ip地址的过程

    浏览器会把输入的域名解析成对应的IP 其过程如下 1 查找浏览器缓存 因为浏览器一般会缓存DNS记录一段时间 不同浏览器的时间可能不一样 一般2 30分钟不等 浏览器去查找这些缓存 如果有缓存 直接返回IP 否则下一步 2 查找系统缓存 浏
  • 【JavaWeb】网络原理初识

    网络原理初识 计算机网络的历史 局域网和广域网 网络组件中的重要设备 网络通信基础 基本概念 协议分层 OSI七层模型 TCP IP五层 或四层 模型 封装和分用 发送方 接收方 三层转发和二层转发 计算机网络的历史 计算机最初是为了打仗而

随机推荐

  • 【表格合并单元格】vue-elementul表格动态合并实现方法,合并行,合并列方法【详细讲解,看完就理解】

    功能 这个elementul表格单元格合并功能是很多地方会用到的 但是官方文档那个有点看的不明白 这里详细讲一下 这里包含有一个行的合并方法 一个列的合并方法 都是详细注释了的 讲解了他的规则 看完后就知道怎么用这个了 效果图 这里是合并的
  • DC-DC---升压斩波电路(BOOST)

    直流升压电路电路 原理图 工作波形 工作原理 分析升压斩波电路的工作原理时 首先假设电路中电感L值很大 电容C值也很大 当可控开关V处于通态时 电源E向电感L充电 充电电流基本恒定为I 同时电容C上的电压向负载R供电 因C值很大 基本保持输
  • LVM逻辑卷 (图文详细教程)

    目录 一 磁盘逻辑卷管理概念介绍 二 LVM逻辑卷管理命令 三 fdisk 常用命令 四 操作 1 安装LVM需要的插件 一般都自带了 2 查看磁盘 3 磁盘分区 PE 4 PV物理卷 5 VG卷组 6 LV逻辑卷 7 文件系统创建 8 挂
  • <mvc:annotation-driven/>与<mvc:default-servlet-handler/>之间的关系问题

    在做项目的时候 我希望静态资源由WEB服务器默认的Servlet来处理 所以我在配置文件中添加了如下的语句
  • 当删除oracle数据库user时发生row cache lock 等待事件

    在oracle数据库中做的动作如下 drop user abc hang住 等待事件为 row cache lock Hanganalyze 显示 Chains most likely to have caused the hang a C
  • Redis BoundValueOperations 接口文档 RedisTemplate整合 Boot

    BoundValueOperations 接口文档 因为官方文档并没有对方法的描述 源码里面也没有注释 所以在下面增加一份方法作用描述 方法中的 V K均为String BoundValueOperations
  • 阿里云ECS(CentOS 7.3)的搭建过程

    一 安装JDK和配置环境变量 1 创建jdk安装目录 创建过则跳转即可 mkdir p usr local src 2 使用wget命令下载jdk包 wget no check certificate no cookies header C
  • 数组中常用的方法

    一 push 方法和 pop 方法 push 方法用于向数组末尾添加一个或多个元素 并返回修改后的数组的新长度 const fruits 苹果 香蕉 const res fruits push 橘子 西瓜 console log fruit
  • Vue + Element UI+Scss + Vuex一键换肤 , 一键换字体大小 ,动态替换全局主题颜色

    一 前言 其实我这个写法每个UI库都通用 不局限于ElementUI 看明白思路就知道怎么写了 一键换肤 动态替换全局主题颜色功能已经实现很久了 在项目验收的时候出现了一个小问题 想改动一下 于是来记录一下 前段时间公司项目里需要实现一键换
  • get 和 post 的区别

    使用场景 GET请求一般用于向服务器请求数据 POST请求一般用于向服务器提交数据 请求参数的位置 GET请求通常将参数放在URL的 query 中 POST 请求通常会将数据放在请求体 body 中 GET请求通常将参数放在URL的 qu
  • unity 2D中,实现点击按钮可以游戏暂停的效果

    在Unity 2D中 可以通过以下步骤和代码来设置一个按钮 实现游戏暂停的效果 创建一个空对象 命名为 GameManager 用于管理游戏状态 在GameManager对象上添加一个脚本 命名为 PauseManager 在脚本中添加以下
  • 简述“自顶向下,逐步求精”——面向过程程序设计方法

    引入 所谓 自顶向下 逐步求精 的程序设计方法 网络上有着如下的说法 一者是百度百科所述 另一者则为维基百科的说法 自顶向下设计 一种逐步求精的设计程序的过程和方法 对要完成的任务进行分解 先对最高层次中的问题进行定义 设计 编程和测试 而
  • C# 联合Halcon开发的完整项目案例(三套完整源码)附下载连接

    C 联合Halcon开发的完整项目案例 三套完整源码 点我下载三套项目源码 1 C 联合Halcon开发的程序 一整套源码 相机点胶定位 图像采集 数据查询相机间通讯具体情况如下图所示 案例注释详细 方便二次开发 2 C Halcon Vi
  • 从零开发校园商铺平台(SSM到SpringBoot)一.开发准备,实体类设计与表创建

    依山傍水房树间 行也安然 住也安然 一条耕牛半顷田 收也凭天 荒也凭天 雨过天晴驾小船 鱼在一边 酒在一边 夜晚妻子话灯前 今也谈谈 古也谈谈 日上三竿犹在眠 不是神仙 胜似神仙 一 开发准备 创建maven项目 解决项目报错 新增pom
  • Chrome插件(扩展)开发全攻略

    目录 写在前面 仓库说明 前言 什么是Chrome插件 学习Chrome插件开发有什么意义 为什么是Chrome插件而不是Firefox插件 开发与调试 核心介绍 manifest json content scripts backgrou
  • qRegisterMetaType

    如果要在Qt信号槽中使用自定义类型 需要注意使用qRegisterMetaType对自定义类型进行注册 当然在不跨线程时使用自定义类型signal slot来传递 可能不会出现什么问题 一旦涉及跨线程就很容易出错 回想下信号槽的作用就是用来
  • 机器学习——朴素贝叶斯分类器及sklearn实现

    前言 参考 机器学习 简单介绍朴素贝叶斯分类器 机器学习专栏 机器学习专栏 文章目录 一 贝叶斯定理 二 贝叶斯分类法 三 sklearn实现贝叶斯分类 一 贝叶斯定理 贝叶斯定理 Bayes theorem 是概率论中的一个定理 描述在已
  • Metasploit search参数

    msfvenom 参数 q快速启动msf 不显示banner信息 x加载模块代码 p payload lt payload gt 指定需要使用的payload 攻击荷载 也可以使用自定义payload 几乎是支持全平台的 l list mo
  • ThinkPHP3.2.3关闭调试模式及做些修改

    1 首先在入口文件中关闭调试模式 开启调试模式 建议开发阶段开启True 部署阶段注释或者设为false define APP DEBUG false 2 修改 Conf config php 异常页面的模板文件 TMPL EXCEPTIO
  • Cookie与Session深入理解(一)——Cookie

    基本操作 HttpServletRequest request HttpServletResponse response 1 获取cookies Cookie cookieList request getCookies 2 根据cookie