之前一直使用的是统一登录系统,相关的登录由别的部门开发以及维护。但由于最近项目的需要,我们需要自己开发一套简单的登录功能。因此这里就涉及到了一个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的基本使用方法的更多相关文章

  1. Iframe和Frame中实现cookie跨域的方法(转载)

    在Iframe和Frame中默认是不支持Cookie跨域的,但通过设置P3P协议相关的响应头可以解决这一问题.关于p3p协议: P3P: Platform for Privacy Preference ...

  2. Asp.Net Core3.x中使用Cookie

    在Asp.Net中使用Cookie相对容易使用,Request和Response对象都提供了Cookies集合,要记住是从Response中存储,从Request中读取相应的cookie.Asp.Ne ...

  3. c#.net与vb.net中读写Cookie的方法!

    Cookie (HttpCookie的实例)提供了一种在 Web 应用程序中存储用户特定信息的方法.例如,当用户访问您的站点时,您可以使用 Cookie 存储用户首选项或其他信息.当该用户再次访问您的 ...

  4. 在jsp页面的js中使用Cookie的原理介绍以及相应方法的代码

    1. 设置cookie 1.1 每个cookie都是一个名/值对,可以把下面这样一个字符串赋值给document.cookie: document.cookie="user_Id=828&q ...

  5. Flask 框架中 上下文基础理念,包括cookie,session存储方法,requset属性,current_app模块和g模块

    Flask中上下文,分为请求上下文和应用上下文.既状态留存 ,就是把变量存在某一个地方可以调用 请求上下文:实际就是request和session用法理念,既都是可以存储东西. 应用上下文:既变量共享 ...

  6. 第74节:Java中的Cookie和Session

    第74节:第74节:Java中的Cookie和Session ServletContext: 什么是ServletContext,有什么用哦,怎么用呢? 启动服务器后,会给每个应用程序创建一个Serv ...

  7. .Net中的AOP系列之《方法执行前后——边界切面》

    返回<.Net中的AOP>系列学习总目录 本篇目录 边界切面 PostSharp方法边界 方法边界 VS 方法拦截 ASP.NET HttpModule边界 真实案例--检查是否为移动端用 ...

  8. Javascript中关于cookie的那些事儿

    Javascript-cookie 什么是cookie? 指某些网站为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据(通常经过加密).简单点来说就是:浏览器缓存. cookie由什 ...

  9. javaEE中关于dao层和services层的理解

    javaEE中关于dao层和services层的理解 入职已经一个多月了,作为刚毕业的新人,除了熟悉公司的项目,学习公司的框架,了解项目的一些业务逻辑之外,也就在没学到什么:因为刚入职, 带我的那个师 ...

随机推荐

  1. Ubuntu 16.04 安装 RabbitMQ

    Ubuntu 16.04 安装 RabbitMQ(注意,服务器安全组需要添加15672 和5672端口) #1 更新 $ sudo apt-get update$ sudo apt-get upgra ...

  2. Spring中AOP的初窥和入门小案例

    AOP:面向切面编程 AOP的主要作用:是为了程序员更好的关注"业务",专心"做事" 加上双引号的意思:所谓业务,是指他的核心,各行业中需要处理的核心事务,核心 ...

  3. Python去除字符串的空格

    Python能够找出字符串开头和末尾多余的空白. 要确保字符串末尾没有空白,可使用方法rstrip(). 还可以剔除字符串开头的空白,或同时剔除字符串两端的空白. 为此,可分别使用方法lstrip() ...

  4. matplotlib两种画散点图的方式

    对于matplotlib.pyplot( as plt ) 先输入主体数据部分: import numpy as np import matplotlib.pyplot as plt X_train ...

  5. python中的一些编码问题

    声明Python源码编码方式 在程序的开始写上:# -*- coding: utf-8 -*- # -*- coding: gbk -*- 注: decode是将其它编码方式转换成unicode编码 ...

  6. Spring Boot入门——freemarker

    使用步骤: 1.在pom.xml中添加相关依赖 <!-- 添加freemarker依赖 --> <dependency> <groupId>org.springfr ...

  7. review07

    java类可以有两种重要的成员:成员变量和方法,实际上java还允许有一种成员:内部类.内部类是在一个类中定义另一个类.内部类和外嵌类的关系如下: (1)内部类的外嵌类的成员变量在内部类中仍然有效,内 ...

  8. 多线程下使用Jedis

    在不同的线程中使用相同的Jedis实例会发生奇怪的错误. 但是创建太多的实现也不好因为这意味着会建立很多sokcet连接,也会导致奇怪的错误发生. 单一Jedis实例不是线程安全的. 为了避免这些问题 ...

  9. Redis源码分析:serverCron - redis源码笔记

    [redis源码分析]http://blog.csdn.net/column/details/redis-source.html   Redis源代码重要目录 dict.c:也是很重要的两个文件,主要 ...

  10. Educational Codeforces Round 33 (Rated for Div. 2)A-F

    总的来说这套题还是很不错的,让我对主席树有了更深的了解 A:水题,模拟即可 #include<bits/stdc++.h> #define fi first #define se seco ...