Cookie和Session学习
2017-03-01 13:21
204 查看
Cookie和Session学习
Cookie
Cookie简介:Cookie是一种客户端的会话技术。会话的生命周期是打开浏览器网页窗口到关闭浏览器网页窗口。cookie如果没有设置最大存活时间,在关闭浏览器网页窗口时,cookie就会消失。
Cookie是通过拓展HTTP协议来实现的,服务器通过HTTP协议的响应消息头添加cookie,响应给浏览器(如果设置了cookie的最大生存时间,就会在浏览器中有缓存),浏览器再次请求客户端时,会在http的请求消息头携带cookie信息,访问服务器,这时,服务器就可以识别出这个浏览器之前访问过。
Cookie的相关api介绍:
request.getCookies():获取cookies[],在浏览器一个会话可能包含多个cookies。
response.addCooike():给响应客户端的信息头加上cookie字段
Cookie的构造方法
Cookie(String name,String value) name:表示cookie的名称 value:表示cookie的值 注意:cookie的名称必须遵守RFC规范。只能包含ASCII字符,不能包含逗号,分号,空格,$开头。 cookie的名称在创建之后不得更改。
setPath():设置cookie的路径,让客户端知道是哪个的web应用的cookie。用于区别不同web项目的cookie。
getPath():获取cookie的路径,可以通过路径来匹配cookie。
setMaxAge():设置cookie的最大生存时间,以秒为单位。
如果setMaxAge()的值为负数:表示不存储cookie 如果为0,表示删除cookie 如果大于0,表示cookie的最大生存时间
getMaxAge():返回的是cookie的最大生存时间。
setSecure():设置cookie安全,浏览器只会在HTTPS等安全协议中传输。
Session(所指的是HttpSession)
Session简介在Web开发中,服务器会为每个用户浏览器创建一个会话对象(Seesion对象),一个用户浏览器独占一个Session对象。
会话(Session)的生命周期:从打开浏览器网页窗口到关闭浏览器网页窗口。
Session对象存储着用户会话所需的属性及配置信息。在其生命周期内用户的属性及配置信息,可以在多个Servlet之间共享。
服务器创建Session出来后,会把Session的id,以cookie的形式返回给客户端,只要会话未结束,客户端再次访问服务器时,会带有Session的id号的cookie信息。
Session的相关API
request.getSession():返回的是一个HttpSession。
getAttribute(String name):通过name获取session存储的值
setAttribute(String name,Object value):给Session设置值。
getAttributeNames():获取Session所有的配置信息名。
getId():获取Session的id。
isNew():如果客户端还不知道该会话,或者客户端选择不加入该会话,则返回true。
getLastAccessedTime():返回客户端上一次发送与此会话关联的请求的时间。
getMaxInactiveInterval():返回 servlet 容器在客户端访问之间将使此会话保持打开状态的最大时间间隔,以秒为单位。
setMaxInactiveInterval():设置会话保持的最大时间间隔,以秒为单位。
invalidate():使此会话无效
Session销毁的方式
调用invalidate()方法强制销毁
超时(默认30分钟)
通过setMaxIncativeInterval(int interval)设置最大间隔时间,单位秒。
在web.xml中配置
<session-config> <!-- 设置Session的有效时间,单位是分钟 --> <session-timeout>5</session-timeout> </session-config>
Cookie和Session的区别
Cookie是把用户数据写给用户的浏览器,Session的数据放在服务器上。cookie的数据是不安全的(本地会进行缓存,容易被人获取),Session会更安全。
Cookie保存的数据有大小限制,不超过4k。
Cookie保存的是字符串,Session保存的是对象。
相关文章推荐
- session和cookie学习笔记
- cookie&session学习之一--从一个形象的例子说起(zl)
- 黑马程序员_学习日记72_724ASP.NET(ViewState、Cookie、Session、登录、分页存储过程)
- 我的php学习笔记(二十九)PHP5中Cookie与 Session详解
- PHP学习笔记——表单数据获取,Session,Cookie
- JAVA WEB学习笔记-Cookie和Session专题
- cookie和session'的学习
- Cookie 与 session 学习笔记
- session和cookie的区别【学习笔记】
- java_web学习第五天(会话-Cookie和Session)
- cookie与session学习之二--cookie是什么(zl)
- cookie与session学习之七--cookie缺陷(zl)
- cookie与session学习之六--cookie的一些应用
- PHP 用查询字符窜,cookie 和session 保存页面状态 的总结学习
- 学习ASP.NET中的Application、Session、Cookie
- 关于session与cookie区别 在网上闲逛看着不错 大家互相学习下
- cookie与session学习之五--session详解
- session和cookie学习笔记
- php学习笔记(二十六)php中session的初步使用(基于cookie的)
- session和cookie的学习总结