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. Cortex-M3/4的Hard Fault调试方法

    1 Cortex-M3/4的Fault简介 Cortex-M3/4的Fault异常是由于非法的存储器访问(比如访问0地址.写只读存储位置等)和非法的程序行为(比如除以0等)等造成的.常见的4种异常及产 ...

  2. 链表(c语言实现)--------------小练习

    #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX_SIZE 100 #d ...

  3. poj 2975 Nim 博弈论

    令ans=a1^a2^...^an,如果需要构造出异或值为0的数, 而且由于只能操作一堆石子,所以对于某堆石子ai,现在对于ans^ai,就是除了ai以外其他的石子 的异或值,如果ans^ai< ...

  4. android-non-ui-to-ui-thread-communications-part-4-of-5

    In parts 1-3 of this series, I have explored three different means for an Android non-UI thread to c ...

  5. webmatrix

    http://www.microsoft.com/web/webmatrix/ WebMatrix is a free, lightweight, cloud-connected web develo ...

  6. Project Euler 104:Pandigital Fibonacci ends 两端为全数字的斐波那契数

    Pandigital Fibonacci ends The Fibonacci sequence is defined by the recurrence relation: F[n] = F[n-1 ...

  7. html5 语音搜索

    开始以为是接口什么的,原来这就是语言搜索. 只需要在input加上x-webkit-speech <input type="text" class="text&qu ...

  8. DB2时间操作

    以下内容选编自<DB2 基础: 日期和时间的使用> 1.使用SQL获取数据库服务器当前时间戳 SELECT current date FROM sysibm.sysdummy1 SELEC ...

  9. C++:构造函数默认的参数声明

    C++函数的默认参数指的是在函数声明或者定义时给形式参数指定默认值,从而在调用参数时可以少写参数,少掉的参数用默认值代替.LZ的Display()函数的代码看起来似乎是可以有s2和s3两个默认参数,那 ...

  10. DWR3.0 dwr 返回值(数组,集合,Map)

    首先导入项目所需要的包,如下:dwr.jar,commons-logging-1.0.4.jar,版本可以调整 1.web.xml<?xml version="1.0" en ...