Cookie&Session 知识点
Posted xiao-cui-tong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Cookie&Session 知识点相关的知识,希望对你有一定的参考价值。
Cookie API
什么是会话 :用户打开一个浏览器访问页面,访问网站的很多页面,访问完成后将浏览器全都关闭的过程称为是一次会话.
会话技术解决了 保存用户各自数据的 问题.
常见的会话技术:
Cookie : Cookie保存数据在浏览器
Session : Session保存数据在服务器
创建cookie对象:
Cookie cookie = new Cookie(String name,String value); //cookie只能保存字符串数据。且value不能保存中文
Cookie对象中的属性:
name: 一但赋值就不能再改了。
value:注意:不能存中文。
maxAge:Cookie缓存的有效时间。
-1:默认。代表Cookie数据存到浏览器关闭(保存在浏览器内存中)。
0:代表删除Cookie.如果要删除Cookie要确保路径一致。
正整数:以秒为单位保存数据有有效时间(把缓存数据保存到磁盘中)
path:表示保存Cookie的路径。 默认是当前创建Cookie对象的路径
一般把路径设置在根路径下: setPath(request.getContextPath()) 表示当前应用下的所有资源都可以访问Cookie数据
向浏览器保存数据:
HttpServletResponse有一个方法: void addCookie(Cookie cookie); 把Cookie数据响应给客户端浏览器
获得浏览器带过来的所有Cookie:
HttpServletRequest有一个方法: Cookie[ ] getCookies(); 得到客户端浏览器带过来的Cookie数据
cookie.setPath(request.getContextPath()); 设置访问路径
cookie.setMaxAge(Integer.MAX_VALUE); 设置浏览器Cookie数据的缓存时间
Cookie[] cookies = request.getCookies(); //得到浏览器所有Cookie对象
for(int i=0;cookies!=null && i<cookies.length;i++){ if("username".equals(cookies[i].getName())){ //根据name找到指定的Cookie对象 String value = cookies[i].getValue(); //取出Cookie的value值 break; } }
注:用户第一次访问服务器,浏览器是不会有Cookie的。
以上是关于Cookie&Session 知识点的主要内容,如果未能解决你的问题,请参考以下文章
PHP走进 PHP 第七课 Cookie & Session
03-JavaWeb开发最详细的Cookie&Session分析