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层的理解 入职已经一个多月了,作为刚毕业的新人,除了熟悉公司的项目,学习公司的框架,了解项目的一些业务逻辑之外,也就在没学到什么:因为刚入职, 带我的那个师 ...
随机推荐
- Ubuntu 16.04 安装 RabbitMQ
Ubuntu 16.04 安装 RabbitMQ(注意,服务器安全组需要添加15672 和5672端口) #1 更新 $ sudo apt-get update$ sudo apt-get upgra ...
- Spring中AOP的初窥和入门小案例
AOP:面向切面编程 AOP的主要作用:是为了程序员更好的关注"业务",专心"做事" 加上双引号的意思:所谓业务,是指他的核心,各行业中需要处理的核心事务,核心 ...
- Python去除字符串的空格
Python能够找出字符串开头和末尾多余的空白. 要确保字符串末尾没有空白,可使用方法rstrip(). 还可以剔除字符串开头的空白,或同时剔除字符串两端的空白. 为此,可分别使用方法lstrip() ...
- matplotlib两种画散点图的方式
对于matplotlib.pyplot( as plt ) 先输入主体数据部分: import numpy as np import matplotlib.pyplot as plt X_train ...
- python中的一些编码问题
声明Python源码编码方式 在程序的开始写上:# -*- coding: utf-8 -*- # -*- coding: gbk -*- 注: decode是将其它编码方式转换成unicode编码 ...
- Spring Boot入门——freemarker
使用步骤: 1.在pom.xml中添加相关依赖 <!-- 添加freemarker依赖 --> <dependency> <groupId>org.springfr ...
- review07
java类可以有两种重要的成员:成员变量和方法,实际上java还允许有一种成员:内部类.内部类是在一个类中定义另一个类.内部类和外嵌类的关系如下: (1)内部类的外嵌类的成员变量在内部类中仍然有效,内 ...
- 多线程下使用Jedis
在不同的线程中使用相同的Jedis实例会发生奇怪的错误. 但是创建太多的实现也不好因为这意味着会建立很多sokcet连接,也会导致奇怪的错误发生. 单一Jedis实例不是线程安全的. 为了避免这些问题 ...
- Redis源码分析:serverCron - redis源码笔记
[redis源码分析]http://blog.csdn.net/column/details/redis-source.html Redis源代码重要目录 dict.c:也是很重要的两个文件,主要 ...
- Educational Codeforces Round 33 (Rated for Div. 2)A-F
总的来说这套题还是很不错的,让我对主席树有了更深的了解 A:水题,模拟即可 #include<bits/stdc++.h> #define fi first #define se seco ...