一文带你超详细了解Cookie cookie是什么意思( 二 )


//创立一个Cookie对象Cookie cookie1 = new Cookie("username", "zhangsan"); Cookie cookie2 = new Cookie("password", "123456"); Cookie cookie3 = new Cookie("age", "20");//将Cookie对象放入response对象中response.addCookie(cookie1);response.addCookie(cookie2);response.addCookie(cookie3);阅读器会按以下情势发送 Cookie:
Cookie: username=zhangsan; password=123456; age=20
4)设置 Cookie 就是两个步骤: 创立 Cookie 对象
将 Cookie 对象参加到 response 中
设置 cookie
cookie 的有效时光
1)经过上边的介绍我们已经知道 Cookie 是存储在阅读器中的 , 但是可想而知一般情形下阅读器不可能永远保留一个Cookie , 一来是占用硬盘空间 , 再来一个 Cookie 可能只在某一时刻有用没必要久长保留 。
2) 所以我们还须要为 Cookie 设置一个有效时光 。
3)通过 Cookie 对象的 setMa创业网xAge()可以设置 Cookie 的有效时光 。
其中 setMaxAge()吸收一个 int 型的参数 , 来设置有效时光 。参数重要有一下四种情形:

  • 设置为 0 , setMaxAge(0)
Cookie 立即失效 , 下次阅读器发送要求将不会在携带该 Cookie
  • 设置大于 0 , setMaxAge(60)
表现有效的秒数 60 就代表 60 秒即 1 分钟 , 也就是 Cookie 在 1 分钟后失效创业网 。
  • 设置小于 0 , setMaxAge(-1)
设置为负数表现当前会话有效 。也就是关闭阅读器后 Cookie 失效
  • 不设置
如果不设置失效时光 , 则默认当前会话有效 。
cookie 的路径
1) Cookie 的路径指告知阅读器拜访那些地址时该携带该 Cookie , 我们知道阅读器会保留很多不同网站的 Cookie , 比如百度的 Cookie , 新浪的 Cookie , 腾讯的 Cookie 等等 。那我们不可能拜访百度的时候携带新浪的 Cookie , 也不可能拜访每个网站时都带上所有的 Cookie 这是不现实的 , 所以往往我们还须要为 Cookie 设置一个 Path 属性 , 来告知阅读器何时携带该Cookie 。
2)我们同过 Cookie 的 setPath()来设置路径 , 这个路径是由阅读器来解析的所以/代表服务器的根目录 。
如:设置为 /项目名/路径 cookie.setPath(“/项目名/路径”),这样设置只有拜访“/项目名/路径”下的的资源才会携带 Cookie
如:/项目名/路径/1.jsp 、/项目名/路径/hello/2.jsp 等
如果不设置 , 默认会在拜访“/项目名”下的资源时携带如:“/项目名/index.jsp” 、 “/项目名/hello/index.jsp”
Cookie cookie = new Cookie("username", "abc"); cookie.setMaxAge(60*60*24);//秒为单位,一天后过期cookie.setPath(getServletContext().getContextPath()+"/"); resp.addCookie(cookie); resp.sendRedirect(getServletContext().getContextPath()+"/index.jsp");推举博客
程序员写代码之外 , 如何再赚一份工资?
读取 cookie
通过以上步骤 , 我们将 cookie 保留到了阅读器端 。那么我们如何读取 cookie 中的值呢 。剖析:
cookie 被设置进入阅读器后 , 每次要求都会携带 cookie 的值 , 所以我们须要从 request 中取出 cookie 进行解析 。
//从request中获取所有cookieCookie[] cookies = request.getCookies();//遍历cookiefor(Cookie c:cookies){String cName = c.getName();//获取cookie名String cValue = http://www.joeyphone.com/yuezhongchuangye/c.getValue();//获取cookie值System.out.println("cookie:" + cName + "=" +cValue);}【一文带你超详细了解Cookie cookie是什么意思】

推荐阅读