Servlet与JSP进阶五:浏览器Cookie

本篇博客的主要内容是:

        ● 为什么要有Cookie;

        ● Cookie本地存放地址;

        ● 如何在程序中设置(添加)Cookie;

        ● 如何在浏览器中查看Cookie信息;

        ● 如何在程序中获取Cookie信息;

        ● 如何设置Cookie时效;

Cookie(小甜饼~~~)

Servlet与JSP进阶五:浏览器Cookie_第1张图片

一个小例子:例如平常登录一个网易邮箱时,如果选择“十天内免登录”,登录后,关闭浏览器;重新打开浏览器,会发现网易邮箱的登录状态并没有消失。

Servlet与JSP进阶五:浏览器Cookie_第2张图片

其底层的实现原理是,网易邮箱网利用了Cookie技术,存放了用户的登录信息;浏览器二次访问网易邮箱首页时,浏览器会把Cookie中存放的用户登录信息提取出来,并通知服务器说之前这个用户已经登录过了,并不需要重新登录;

“十天内免登录”:这个Cookie只能保存十天,十天以后,将会被浏览器自动清除;


Cookie放在哪儿了?

Servlet与JSP进阶五:浏览器Cookie_第3张图片

Servlet与JSP进阶五:浏览器Cookie_第4张图片


设置Cookie示例:

下面,设置了Cookie,并将Cookie信息随着response(响应)发回到浏览器端;浏览器将这个Cookie信息保存到本地的文件中;之后每一次请求,request(请求对象)都会包含这个Cookie信息,一并发送到对应的地址上。

Servlet与JSP进阶五:浏览器Cookie_第5张图片

Cookie要导入这个包: 

效果:

Servlet与JSP进阶五:浏览器Cookie_第6张图片


对于上面的过程中,Cookie是否生效嘞?在浏览器中查看Cookie。

Servlet与JSP进阶五:浏览器Cookie_第7张图片

Servlet与JSP进阶五:浏览器Cookie_第8张图片

Servlet与JSP进阶五:浏览器Cookie_第9张图片


 获取Cookie

Servlet与JSP进阶五:浏览器Cookie_第10张图片

Servlet与JSP进阶五:浏览器Cookie_第11张图片

效果:

Servlet与JSP进阶五:浏览器Cookie_第12张图片


 

上面稍微改造下:

Servlet与JSP进阶五:浏览器Cookie_第13张图片

效果:

Servlet与JSP进阶五:浏览器Cookie_第14张图片


Cookie的时效性怎么弄?:Cookie的默认时效

当Cookie没有设置有效期时,Cookie的有效期就是当前的浏览器窗口:

在上面的例子中,我们先访问了ImoocLoginServlet这个Servlet,我们是在这个Servlet中设置的Cookie,然后在没有关闭浏览器的情况下,又访问了ImoocIndexServlet这个Servlet,在这个Servlet中我们访问了Cookie;

因为没有关闭浏览器,所以ImoocLoginServlet设置的Cookie信息会有效,ImoocIndexServlet能正常访问到Cookie信息;

但一旦,我们关闭了浏览器,重新打开浏览器,直接访问ImoocIndexServlet时:报错了,Cookie失效了

Servlet与JSP进阶五:浏览器Cookie_第15张图片

其实,上面报了空指针异常,其实cs这个数组是空的(因为所有的Cookie信息都失效了),会引发空指针异常了;

所以上面的程序可以改一下,增强健壮性:

Servlet与JSP进阶五:浏览器Cookie_第16张图片

上面程序处理了可能出现的错误情况,此时再访问时:

Servlet与JSP进阶五:浏览器Cookie_第17张图片


怎么设置Cookie时效:

Servlet与JSP进阶五:浏览器Cookie_第18张图片

 

此时先访问ImoocLoginServlet,先让浏览器将Cookie信息保存;

Servlet与JSP进阶五:浏览器Cookie_第19张图片

Servlet与JSP进阶五:浏览器Cookie_第20张图片

关闭浏览器:然后重启,访问ImoocIndexServlet:结果,发现Cookie并没有因为关闭了浏览器而失效,因为我们把其时效性设置成了7天;

Servlet与JSP进阶五:浏览器Cookie_第21张图片

Servlet与JSP进阶五:浏览器Cookie_第22张图片


cookie是保证用户会话的基础;

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(Servlet与JSP进阶五:浏览器Cookie)