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

时间: 2024-10-06 00:39:26

JavaEE中的Cookie的基本使用方法的相关文章

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

在Iframe和Frame中默认是不支持Cookie跨域的,但通过设置P3P协议相关的响应头可以解决这一问题.关于p3p协议: P3P: Platform for Privacy Preferences(隐私偏好平台).隐私偏好平台(P3P)是允许网络站点来宣告它们收集的关于浏览用户他们的意向使用的信息的一个协议.原意是当用户浏览时,授予用户他们个人信息的更多控制. P3P是万维网联盟(W3C)公布的一项隐私保护推荐标准,旨在为网上冲浪的 Internet用户提供隐私保护.现在有越来越多的网站在

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

Cookie (HttpCookie的实例)提供了一种在 Web 应用程序中存储用户特定信息的方法.例如,当用户访问您的站点时,您可以使用 Cookie 存储用户首选项或其他信息.当该用户再次访问您的网站时,应用程序便可以检索以前存储的信息. C#.net部分 创建Cookie方法 (1)Response.Cookies["userName"].Value = “admin";Response.Cookies[“userName”].Expires = DateTime.No

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

Flask中上下文,分为请求上下文和应用上下文.既状态留存 ,就是把变量存在某一个地方可以调用 请求上下文:实际就是request和session用法理念,既都是可以存储东西. 应用上下文:既变量共享,就是把东西存储在变量里可以打印预览,应用上下文包括 current_app模块和g模块 cookie方法增,查,删. 注:存储cookie时使用set_coooki方法存储key--calve形式数据,另一个参数max_age 是指定的存活时间. 调用cookie的方法是通过request模块的c

JavaEE中的依赖性——依赖查找

关于依赖性管理我们要介绍的第一个策略就是依赖查找(dependency lookup).这种策略是JavaEE中传统形式的依赖性管理,这里可以看到JavaEE规范中的JNDI(Java Naming andDirectoryInterface)的身影.从名字就可以看出来这里解决依赖性是通过查找的方式. 就像上篇文章提到的,所要引用的资源是通过一对name与target对应的注解标识的.name用来表明此资源被依赖时候的名字,所以当资源注解放在类定义之上的时候需要为其起个名字.但是如果资源注解放在

JavaEE中的依赖性——声明依赖性

已下小结描述了一些JavaEE和EJB规范定义的资源注解.每条注解有一个可选的name特性以指定依赖性的引用名称.注解的其他特性特定于所需获取的资源类型. 引用持久化上下文 前面的章节演示了如何通过从Persistence类返回一个EntityManagerFactory,为持久化上下文创建一个实体管理器.在JavaEE环境中,@PersistenceContext注解可以用来声明一个持久化上下文上的依赖性,并且可以自动获取那个持久化上下文所需的实体管理器. 下面代码演示了如何使用@Persis

js中利用cookie实现记住密码功能

js中利用cookie实现记住密码功能 在登录界面添加记住密码功能,我首先想到的是在java后台中调用cookie存放账号密码,大致如下: 1 HttpServletRequest request 2 HttpServletResponse response 3 Cookie username = new Cookie("username ","cookievalue"); 4 Cookie password = new Cookie("password

网络中的cookie和session的区别

一.cookie机制和session机制的区别 具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案. 采用服务器端保持状态的方案在客户端也需要保存一个标识,所以session机制可能要借助于cookie机制来达到保存标识的目的,但也可以使用其他方法. cookie的内容包括:名字,值,过期时间,路径和域.路径和域一起构成了cookie的作用范围.如果不设置过期时间,则表示这个cookie的生命周期为浏览器的会话期间,关闭浏览器窗口,coo

【转】asp.net中的cookie使用介绍

来源:http://www.jb51.net/article/30398.htm 一.cookie导读,理解什么是cookie 1.什么是cookie:cookie是一种能够让网站服务器把少量数据(4kb左右)存储到客户端的硬盘或内存.并且读可以取出来的一种技术. 2.当你浏览某网站时,由web服务器放置于你硬盘上的一个非常小的文本文件,它可以记录你的用户id.浏览过的网页或者停留的时间等网站想要你保存的信息.当你再次通过浏览器访问该网站时,浏览器会自动将属于该网站的cookie发送到服务器去,

JavaScript中设置cookie的值

cookie 与 session 是网页开发中常用的信息存储方式.Cookie是在客户端开辟的一块可存储用户信息的地方:Session是在服务器内存中开辟的一块存储用户信息的地方.JavaScript是运行在客户端的脚本,因此一般是不能够设置Session的,因为Session是运行在服务器端的,而cookie是运行在客户端的,所以可以用JS来设置cookie. 在ITOO项目中,系统需要页面之间的传值,现在假设页面A,和页面B,页面B需要页面A的一个参数,才可以进行后面的操作,那么我们就需要将