JavaEE中的Cookie的基本使用方法
之前一直使用的是统一登录系统,相关的登录由别的部门开发以及维护。但由于最近项目的需要,我们需要自己开发一套简单的登录功能。因此这里就涉及到了一个Cookie的功能。之前也了解过相关的内容,但这次需要独立的开发一下,所以就简单的记录一下流程及遇到的相关问题。
一、写入Cookie操作
//将对应的登录信息写入对应的cookie
//登录账号
Cookie accountCookie=new Cookie(loginCookieName,orgResult.getAccount());
accountCookie.setMaxAge(60*30);//默认cookie半小时失效
accountCookie.setPath("/");//注意需要设置请求路径
reponse.addCookie(accountCookie);
对上面的内容,进行一下简单的说明,
1.构造方法中cookie的两个参数 key-value,没什么好说的,在后面读取对应的key,即可获取相关的value
2.设置cookie的声明周期 单位为秒 例如:上面的60*30 指的是 30分钟
如果设置为负值的话,则为浏览器进程Cookie(内存中保存),关闭浏览器就失效。
如果设置为 0 的话,则该cookie会被删除。
3.accountCookie.setPath("/"),此处一定要设置cookie的请求路径,如果未设置的话,默认是当前的路径,这时如果是其它的请求路径来获取cookie的时候,就有可能获取不 到对应的cookie
例如:之前的请求路径为 /org/orgList 未设置cookie的路径 ,默认的cookie的请求路径为 /org 这时如果你请求 /org 路径下面的请求的时候就可以获取到相关的cookie值
但是如果你的请求路径为 /sku 的话,那么你将无法获取到相关的cookie
本人之前就是犯了这个错误,以至于一直获取不到相关的cookie
上面的代码设置的是 / 则所有的请求都将会获取到对应的cookie
二、读取Cookie操作
Cookie[] cookies = request.getCookies();
if (cookies == null)
return null;
for (Cookie c : cookies) {
if (c.getName().equals(cookieName)) {
return c.getValue();
}
}
循环遍历对应的cookie,,找到对应的key的值。
下面展示一下浏览器中存储的cookie的相关信息:
设置路径为 "/"

未设置为路径,默认为当前路径

至于如何查看浏览器的cookie,百度一下,这里就不做具体的讲解了。
下面给出一些参考链接:
查看浏览器cookie的参考链接:http://blog.unvs.cn/archives/explorer-cookies-ie-chrome-firefox.html
设置cookie路径的参考链接:http://bbs.csdn.net/topics/390571141?page=1
cookie讲解参考链接:http://www.cnblogs.com/muzongyan/archive/2010/08/30/1812552.html
关于cookie存储中文抛异常的链接:http://xiaopihai.iteye.com/blog/1220959
JavaEE中的Cookie的基本使用方法的更多相关文章
- Iframe和Frame中实现cookie跨域的方法(转载)
在Iframe和Frame中默认是不支持Cookie跨域的,但通过设置P3P协议相关的响应头可以解决这一问题.关于p3p协议: P3P: Platform for Privacy Preference ...
- Asp.Net Core3.x中使用Cookie
在Asp.Net中使用Cookie相对容易使用,Request和Response对象都提供了Cookies集合,要记住是从Response中存储,从Request中读取相应的cookie.Asp.Ne ...
- c#.net与vb.net中读写Cookie的方法!
Cookie (HttpCookie的实例)提供了一种在 Web 应用程序中存储用户特定信息的方法.例如,当用户访问您的站点时,您可以使用 Cookie 存储用户首选项或其他信息.当该用户再次访问您的 ...
- 在jsp页面的js中使用Cookie的原理介绍以及相应方法的代码
1. 设置cookie 1.1 每个cookie都是一个名/值对,可以把下面这样一个字符串赋值给document.cookie: document.cookie="user_Id=828&q ...
- Flask 框架中 上下文基础理念,包括cookie,session存储方法,requset属性,current_app模块和g模块
Flask中上下文,分为请求上下文和应用上下文.既状态留存 ,就是把变量存在某一个地方可以调用 请求上下文:实际就是request和session用法理念,既都是可以存储东西. 应用上下文:既变量共享 ...
- 第74节:Java中的Cookie和Session
第74节:第74节:Java中的Cookie和Session ServletContext: 什么是ServletContext,有什么用哦,怎么用呢? 启动服务器后,会给每个应用程序创建一个Serv ...
- .Net中的AOP系列之《方法执行前后——边界切面》
返回<.Net中的AOP>系列学习总目录 本篇目录 边界切面 PostSharp方法边界 方法边界 VS 方法拦截 ASP.NET HttpModule边界 真实案例--检查是否为移动端用 ...
- Javascript中关于cookie的那些事儿
Javascript-cookie 什么是cookie? 指某些网站为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据(通常经过加密).简单点来说就是:浏览器缓存. cookie由什 ...
- javaEE中关于dao层和services层的理解
javaEE中关于dao层和services层的理解 入职已经一个多月了,作为刚毕业的新人,除了熟悉公司的项目,学习公司的框架,了解项目的一些业务逻辑之外,也就在没学到什么:因为刚入职, 带我的那个师 ...
随机推荐
- 2015年蓝桥杯C/C++ B组题目题解
1. 输入一个字符串,求它包含多少个单词.单词间以一个或者多个空格分开. 第一个单词前,最后一个单词后也可能有0到多个空格.比如:" abc xyz" 包含两个单词,"a ...
- Struts2的Action中访问servletAPI方式
struts2的数据存放中心为ActionContext,其是每次请求来时都会创建一个ActionContext,访问结束销毁,其绑定在ThreadLocal上,由于每次访问web容器都会为每次请求创 ...
- ADO.Net连接Mysql
首先下载一个mysql.data.dll拷贝到bin下面并引用一下 using MySql.Data.MySqlClient; class Program { static void Main(str ...
- 格点多边形面积公式(Pick定理)的一个形象解释(转)
Pick定理:如果一个简单多边形(以下称为“多边形”)的每个顶点都是直角坐标平面上的格点,则称该多边形为格点多边形.若一个面积为S的格点多边形,其边界上有a个格点,内部有b个格点,则S=a/2+b-1 ...
- TCP的带宽估计和丢包恢复
一.带宽估计 TCP的带宽估计主要通过拥塞控制算法实现,用到两个变量: 1.cwnd TCP对当前链路可用带宽的估计 2.ssthreash 拥塞控制算法“假想”出来的可用带宽值 二.丢包 ...
- HTTP 指纹识别v0.1
// Winhttp.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <Windows.h> #include ...
- phalcon查询:单条查询,多条查询,多表查询
单条查询, $order = \OrderMain::findFirst("oid='" . $oid . "'"); 多条查询, $shop = \Order ...
- 机器学习(二十五)— 极大似然估计(MLE)、贝叶斯估计、最大后验概率估计(MAP)区别
最大似然估计(Maximum likelihood estimation, 简称MLE)和最大后验概率估计(Maximum aposteriori estimation, 简称MAP)是很常用的两种参 ...
- webdriver处理鼠标右键菜单栏
selenium中ActionChains类提供了鼠标操作的常用方法,但对于鼠标右键的菜单栏,无论是send_keys(Keys.ARROW_DOWN)还是send_keys("K" ...
- poj2778 ac自动机+矩阵快速幂
给m个子串,求长度为n的不包含子串的母串数,最直接的应该是暴搜,肯定tle,考虑用ac自动机 将子串建成字典树,通过next表来构造矩阵,然后用矩阵快速幂求长度为n的数量 邻接矩阵https://we ...