cookie是保存在客户端的文本,能够在一定程度上提高用户体验。Servlet API 中提供了Cookie类,可以创建Cookie对象,并通过响应中的addCookie方法,将cookie保存到客户端。

Cookie的概念与使用:
    cookie是保存在客户端的文本
    Servlet API提供了Cookie类,可以将文本信息封装成Cookie对象
    HttpServletResponse接口中提供了addCookie方法,将cookie添加到响应中
    HttpServletRequest接口中提供了getCookie方法,从请求中获取所有cookie对象
    
引出cookie:
    登陆某个网站后,使用同一台机器再次登陆,不需要再次输入用户名和密码,已经自动登陆。
    这种功能往往是cookie来实现的。
    cookie是存储在客户端的文本,文本往往以键值对的形式存在。档浏览器访问使用cookie的站点后,cookie的信息就保存到了客户端。由于cookie保存在客户端,再次访问服务器端资源时,cookie会被自动传递到服务器端。值得注意的是,一些保密信息不应该存储到cookie中,比如银行卡密码。
    
    Cookie:
        Cookie(String name, String value)
          Constructs a cookie with a specified name and value.
        int getMaxAge()
          Returns the maximum age of the cookie, specified in seconds, By default, -1 indicating the cookie will persist until browser shutdown.
          设置cookie对象的有效时长,默认为-1,也就是浏览器关闭后cookie失效,cookie信息保存在硬盘上
        String getName()
          Returns the name of the cookie.  获取cookie对象的名字
        String getValue()
          Returns the value of the cookie.  获取cookie对象的值
    HttpServletRequest:        
        Cookie[] getCookies()
          Returns an array containing all of the Cookie objects the client sent with this request.
    HttpServletResponse:
        void addCookie(Cookie cookie)
          Adds the specified cookie to the response.
          
    删除cookie:
    设置cookie的存在时间为0秒就删除cookie了
    c.setMaxAge(0);

JSESSIONID cookie
    通过实验查看名为jsessionid的cookie
    jsessionid的值为一个随机整数
    为后面章节学习会话做好准备
    
    特殊的cookie:名为JSESSIONID的cookie
    我们发现第一个访问页面没有获取到cookie,但是刷新页面或者不关闭浏览器重新访问该页面会获取到一个名为JSESSIONID的cookie,在同一个浏览器中,无论访问多少次,该cookie的值都不变
    
    名称为JSESSIONID的cookie我们可以判断它是一个会话cookie。
    他是用来实现会话机制的cookie:默认情况下,访问JSP时,服务器端将生成一个名为JSESSIONID的cookie,值为随机的16进制整数

cookie随便写的一点笔记(抄书的)的更多相关文章

  1. 随便写一点最近开发遇到的问题和解决方法 大部分关于laravel和php

    laravel里要想对对象进行自己设计的排序(usort()), 得用匿名方法,  原声php就不用 php里面可以随便写html代码,  比如可以把html直接后缀名改成.php, 然后在任何地方& ...

  2. 关于最小生成树,拓扑排序、强连通分量、割点、2-SAT的一点笔记

    关于最小生成树,拓扑排序.强连通分量.割点.2-SAT的一点笔记 前言:近期在复习这些东西,就xjb写一点吧.当然以前也写过,但这次偏重不太一样 MST 最小瓶颈路:u到v最大权值最小的路径.在最小生 ...

  3. 使用Atom写你的笔记

    使用Atom写你的笔记 本文参考简书笔记. 使用sync-settings同步你的Atom设置 使用sync-settings插件需要以下3个条件: 电脑已安装Atom Atom内已安装sync-se ...

  4. Typora+PicGo+阿里云写博客笔记

    Typora+PicGo+阿里云写博客笔记 选择这三个工具的理由 我一直有在使用typora使用mardown写作,毕竟typora很香,可以实时预览,非常丝滑. 配合上PicGo这个图床工具简直绝了 ...

  5. ActionScript 3.0 自写类整理笔记(十三)——Random类

    一个简单的随机函数工具类,总共提供了9种静态方法来获取不同的随机值随便写的,如果你还有什么更好的建议,请提出来,谢谢~ index.Random类:代码:public final class Rand ...

  6. Jquery 随便写些知识点

    针对jQuery随便写些觉得还挺实用的一些东西,也没系统的去理一番,只是想到哪写到哪,写的不完全也请多见谅. jQuery和其他javascript库产生$符号冲突了?$符号想必用jQuery的人都不 ...

  7. [转&精]IO_STACK_LOCATION与IRP的一点笔记

    IO_STACK_LOCATION和IRP算是驱动中两个很基础的东西,为了理解这两个东西,找了一点资料. 1. IRP可以看成是Win32窗口程序中的消息(Message),DEVICE_OBJECT ...

  8. 关于SS的一点笔记

    过年的时候抽了点时间了解了下ss的协议.整理了一点笔记,一直没有时间发.今天发一下,免得忘了. SS的结构本身比较简单,他的基本结构如下: ss通常分为client和server两部分 client是 ...

  9. 对于写Python学习笔记的看法

    学习写笔记是一个不错的学习方法,好些同学在学习Python过程中也会写学习笔记.俗话说好记性不如烂笔头,我很赞同这个说法. 我列举几个学习Python写笔记的好处: 1.Python知识的二度巩固 通 ...

随机推荐

  1. 线上问题 - MySQL SQL state [HY000]; error code [1366]

    一.问题描述 另外一个系统调用服务接口api:/xxx/create?aName=&time=&...,数据没有保存成功提示SQL state [HY000]; error code ...

  2. POJ 1742

    Coins Time Limit: 3000MS   Memory Limit: 30000K Total Submissions: 27580   Accepted: 9335 Descriptio ...

  3. 用C#实现Base64处理,加密解密,编码解码

    using System; using System.Text; namespace Common { /// <summary> /// 实现Base64加密解密 /// 作者:周公 / ...

  4. lintcode:移动零

    题目 给一个数组 nums 写一个函数将 0 移动到数组的最后面,非零元素保持原数组的顺序 注意事项 1.必须在原数组上操作2.最小化操作数   样例 给出 nums = [0, 1, 0, 3, 1 ...

  5. lintcode: 寻找旋转排序数组中的最小值

    寻找旋转排序数组中的最小值 假设一个旋转排序的数组其起始位置是未知的(比如0 1 2 4 5 6 7 可能变成是4 5 6 7 0 1 2). 你需要找到其中最小的元素. 你可以假设数组中不存在重复的 ...

  6. hdu 1124 Factorial(数论)

    题意: 求n!的尾0的个数 分析: 0一定是由因子2和5相乘产生的: 2的个数显然大于5的个数,故只需统计因子5的个数 n/5不能完全表示n!中5的个数(egg: 25),应该n/=5后,累加上n/2 ...

  7. ubuntu系统使用minicom终端操作说明

    http://blog.chinaunix.net/uid-22030783-id-3350834.html 在linux下,使用minicom作为串口终端工具,默认的串口设备是/dev/ttyS0, ...

  8. sip比较好的博客

    http://blog.sina.com.cn/s/articlelist_1796220243_1_1.html

  9. Android笔记——Handler更新UI示例

    public class MainActivity extends ActionBarActivity { private TextView textView; private int i=0; @O ...

  10. ThinkPHP:读取数据库数据 (2)

    项目配置文件Conf/config.php中添加数据库连接信息: // 添加数据库配置信息 'DB_TYPE' => 'mysql', // 数据库类型 'DB_HOST' => 'loc ...