• 让天下没有难学的技术
    多数学员都来自推荐,这就是口碑的力量

设置cookie

设置cookie
1   cookie的有效时间

1)经过上边的介绍我们已经知道Cookie是存储在浏览器中的,但是可想而知一般情况下浏览器不可能永远保存一个Cookie,一来是占用硬盘空间,再来一个Cookie可能只在某一时刻有用没必要长久保存。

所以我们还需要为Cookie设置一个有效时间。
3)通过Cookie对象的setMaxAge()可以设置Cookie的有效时间。

其中setMaxAge()接收一个int型的参数,来设置有效时间。参数主要有一下四种情况:

设置为0,setMaxAge(0)
Cookie立即失效,下次浏览器发送请求将不会在携带该Cookie

设置大于0,setMaxAge(60)
表示有效的秒数60就代表60秒即1分钟,也就是Cookie在1分钟后失效。

设置小于0,setMaxAge(-1)
设置为负数表示当前会话有效。也就是关闭浏览器后Cookie失效

不设置
如果不设置失效时间,则默认当前会话有效。

2.2.2   cookie的路径

1)Cookie的路径指告诉浏览器访问那些地址时该携带该Cookie,我们知道浏览器会保存很多不同网站的Cookie,比如百度的Cookie,新浪的Cookie,腾讯的Cookie等等。那我们不可能访问百度的时候携带新浪的Cookie,也不可能访问每个网站时都带上所有的Cookie这是不现实的,所以往往我们还需要为Cookie设置一个Path属性,来告诉浏览器何时携带该Cookie。

2)我们同过Cookie的setPath()来设置路径,这个路径是由浏览器来解析的所以/代表服务器的根目录。

如:

设置为 /项目名/路径 à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”);

 

 

发表评论

邮箱地址不会被公开。 必填项已用*标注