cookie随便写的一点笔记(抄书的)

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进制整数

原文地址:https://www.cnblogs.com/aigeileshei/p/5677202.html