对Cookie的简单操作

本文仅为个人学习笔记,如有错误请给予指点,谢谢!!!

什么是Cookie:

cookies是一种WEB服务器通过浏览器在访问者的硬盘上存储信息的手段:Netscape Navigator使用一个名为cookies.txt本地文件保存从所有站点接收的Cookie信息;而IE浏览器把Cookie信息保存在类似于C:\windows\cookies的目录下。当用户再次访问某个站点时,服务端将要求浏览器查找并返回先前发送的Cookie信息,来识别这个用户。??

 1 // 创建Cookie
 2
 3 Cookie cookie1 = new Cookie("key", "value");// 创建一个cookie,指定键、值;
 4
 5 //Cookie的生命周期
 6
 7 cookie1.setMaxAge(-1);// cookie的maxAge属性的默认值就是-1,表示只在浏览器内存中存活。一旦关闭浏览器窗口,那么cookie就会消失。
 8
 9 cookie1.setMaxAge(60);// 表示cookie对象可存活1小时。当生命大于0时,浏览器会把Cookie保存到硬盘上,就算关闭浏览器,就算重启客户端电脑,cookie也会存活1小时;
10
11 cookie1.setMaxAge(0);// 浏览器会吗哈桑删除这个cookie
12
13 // 获取CookieCookie只能从request中获取全部Cookie,然后循环迭代。
14
15 Cookie[] cs = request.getCookies();// 获取请求中的Cookie
16
17 if (cs != null) {// 如果请求中存在Cookie
18
19    for (Cookie c : cs) {// 遍历所有Cookie
20
21 if (c.getName().equals("id")) {// 获取Cookie名字,如果Cookie名字是id
22
23    response.getWriter().print("您的ID是:" + c.getValue());// 打印Cookie值
24
25 }
26
27    }
28
29 }
30
31 //删除Cookie
32
33 Cookie[] cookies = request.getCookies();
34
35 if (cookies != null && cookies.length > 0) {
36
37    for (Cookie cookie2 : cookies) {
38
39        String name = cookie2.getName();  //获取Cookie的键
40
41        // 根据Cookie的键找到需要删除的Cookie
42
43        if (name.compareTo("key") == 0) {
44
45            // 设置生存期为0
46
47            cookie2.setMaxAge(0);
48
49            // 设回Response中生效
50
51            response.addCookie(cookie2);
52
53        }
54
55    }
56
57 }
58
59 //删除Cookie
60
61 Cookie cookie3 = new Cookie("key", "value");
62
63 cookie3.setMaxAge(0);
64
65 //在响应中添加Cookie对象
66
67 response.addCookie(cookie);

注意!!

Cookie的name和value都不能使用中文,如果希望在Cookie中使用中文,那么需要先对中文进行URL编码,然后把编码后的字符串放到Cookie中。

向客户端响应中添加Cookie

String name = URLEncoder.encode("姓名", "UTF-8");

String value = URLEncoder.encode("张三", "UTF-8");

Cookie c = new Cookie(name, value);

c.setMaxAge(3600);

response.addCookie(c);
时间: 2024-10-12 07:31:54

对Cookie的简单操作的相关文章

.net对Cookie的简单操作

1 声明:HttpCookie MyCookie= new HttpCookie("test"); 2增加:MyCookie.Values.Add("key1", "value1");//key1是键名,value1是值 3过期:MyCookie.Expires = DateTime.Now.AddDays(1);//一天之后过期.也可以设置一个负值,让Cookie立即失效 4添加到客户端:Response.AppendCookie(NewCoo

js : json和 cookie 的简单操作

使用 cookie,可以记录用户的最近的浏览历史 <!DOCTYPE HTML> <html lang="zh-cn"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <script src="./jquery.min.js"></script> &l

Cookie的简单使用

Cookie的简单使用 程序逻辑: index.jsp用来输入和处理Cookie和取得Cookie(不知道是内存还客户端的) 用show.jsp来接收表单数据和Cookie ,再发送Cookie 给客户端. index.jsp页面 <%@ page language="java" contentType="text/html; charset=GBK" pageEncoding="GBK"%> <!DOCTYPE html PU

ORACLE的安装与网页版创建表空间的简单操作以及PLsql的简单操作

1.oracle的安装: 安装简单易学,在这里不做解释.下载看装包后耐心等待,注意安装目录不要有中文字符,尽量按照指定目录进行安装.安装完成后会占用有大约5g的内存. 如果要卸载oracle,需要用其自带的卸载工具进行卸载[universal installer],然后删除注册表项,删除环境变量,删除目录并且重新启动计算机. 2.在网页版进行创建表空间: 进入网页版: 在电脑的服务中我们可以看到一共有7个oracle的服务项目,其中只有三个是正在启动中.这三项中,只有当OracleDBConso

简单操作只需10秒破解PDF加密文件

简单操作只需10秒破解PDF加密文件 [尊重原创,转载请注明出处]http://blog.csdn.net/guyuealian/article/details/51345950 如何破解PDF加密文件,如何破解PDF密码呢,破解加密的PDF文件? 从网上下载的PDF文件,由于版权的问题,作者经常会加密禁止读者复制修改等权限,如下面的PDF文档,用Adobe pdf Reader打开时,会显示"已加密"的字样,虽然可以阅读,但不能修改和标记. 为了解决这个问题,可以采用绕过破解密码这一

C++ 文件的简单操作

=================================================================== 编写程序时,很多时候都要对文件进行操作,比如从文件中读取数据,通过程序将一些数据保存到文件中等等.. 以下是c++对文件的一些简单操作. =================================================================== 一.文件输出 要将程序中的数据输出到文件中,一般需要以下5个步骤: ① 包含fstream

mysql数据库很简单操作

进入linux系统 root   >/usr/bin/mysql -u root mysql>show databases;                    #查看数据库 mysql>use  testtable;                        #testtable 为所要查看的库,应用数据库 mysql>show tables;                          #查看所有表 mysql>desc abc_table          

ftp简单操作及解说

一.实验拓扑 服务器 ------------------------客户机 二.实验条件 试验机在同一个网段,可以互相ping通. 确定装在了ftp软件包. 三.实验一: 匿名用户与本地用户都可以登录 匿名用户登录到/var/ftp,只能下载不能上传 本地用户登录到本地用户的家目录,可以上传和下载 实验步骤; [[email protected] ~]# rpm -q vsftp              //检测是否安装软件 package vsftp is not installed   

nfs简单操作及解说

NFS的实验报告 一.实验拓扑: 服务器 ----------      客户机 二.实验条件: 服务器的ip:192.168.4.5/24 客户机的ip:192.168.4.200 要确定机器有安装nfs包跟RPC软件包. 三.实验要求: 将/root 共享给192.168.4.200 可写,同步,允许客户机以root权限访问 NFS 服务端操作: 修改配置: [[email protected] ~]# vim /etc/exports    //修改配置的地址 [[email protec