一文带你超详细了解Cookie cookie是什么意思( 二 )
阅读器会资源网按以下情势发送 Cookie:
Cookie: username=zhangsan; password=123456; age=20
4)设置 Cookie 就是两个步骤: 创立 Cookie 对象
将 Cookie 对象参加到 response 中
设置 cookie
cookie 的有效时光
1)经过上边的介绍我们已经知道 Cookie 是存储在阅读器中的,但是可想而知一般情形下阅读器不可能永远保留一个Cookie,一来是占用硬盘空间,再来一个 Cookie 可能只在某一时刻有用没必要久长保留 。
2) 所以我们还须要为 Cookie 设置一个有效时光 。
3)通过 Cookie 对象的 setMaxAge()可以设置 Cookie 的有效时光 。
其中 setMaxAge()吸收一个 int 型的参数,来设置有效时光 。参数重要有一下四种情形:
- 设置为 0,setMaxAge(0)
- 设置大于 0,setMaxAge(60)
- 设置小于 0,setMaxAge(-1)
- 不设置
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 = c.getValue();//获取cookie值System.out.println("cookie:" + cName + "=" +cValue);}【一文带你超详细了解Cookie cookie是什么意思】
推荐阅读
- 超跑|3.5秒破百的V12怪兽!阿斯顿马丁新超跑限量249辆已卖空
- 穿衣搭配|海清母子同框,“蛋妞”身材纤细很绅士,她留超短发很俏皮
- iPhone长篇笔记文章,怎么截成超长图片分享给别人?
- 超磁分离水体净化技术 超磁分离技术
- 穿衣搭配|50+想要穿出高级感,快来和这位姐妹学习,普通单品都能超神
- 勒布朗·詹姆斯|这就是超巨!半职业联赛席无空座,苦等詹姆斯12小时,球迷:都值得
- 一分钟带你了解服务器网卡
- 孕早期阴超有什么危害
- 孕12周前总共做15次b超
- 高速|高速超速20%以内不处罚?一汽车博主信了 结果损失200块
