Cookie和Session

1:Cookie:

1) Cookie

在会话中浏览器和服务器会产生一些共享数据,然后cookie是将数据保存在浏览器中,Session是将数据保存在服务器中;

Cookie c = new Cookie("name","value") ; Cookie中的创建对象

Cookie是在服务器中创建的,然后通过response对象发送给浏览器,响应头携带数据

浏览器会自发的把数据存储起来,方便下一次给服务器发送数据

然后服务器可以根据请求来获取cookie: request.getCookies();

2) 细节

cookie中如果有中文,需要进行加密和解密操作,

加密:  URLEncoder.encode("value","charset");

解密: URLDecoder.decode("value","charset");

setMaxAge(int num);  如果参数是正数,表示多少秒后cookie就会自己消失

如果参数是负数,表示关闭浏览器后,cookie消失.

如果参数是0,表示删除这个同名的cookie;

setPath("uri");  设置这个cookie的有效路径, 设置这个cookie的作用的路径,默认的是当前的路径

setValue("value") ;  设置这个cookie的值,但是必须要在response.addCookie() 之前执行,否则没有作用;

2:Session:

1) Session的特点:

Session是存在服务器中的,Session是没有数据大小的限制,Session对数据类型也没有限制,相对安全,

创建一个Session  :  request.getSession() ; 如果没有Session,则会创建一个

request.getSession(true) ; 如果没有就会创建一个Session;  request.getSession(false); 获取Session,如果没有,则会返回null ;

2) 获取数据

session.setAttribute();  设置数据    session.getAttribute("name");  获取该session的值

在创建session时,服务器会给浏览器发送一个cookie,存储的是JESSIONID,所以当访问session的时候,会根据

浏览器中cookie中的数据来进行反馈,如果没有,则会返回null;

setMaxInactiveInterval(int num) ;  设置这个Session的有效时间 秒

在web.xml文件中设置Session的全局时间 <Session-Config> <Session-timeout>1</Session-timeout>  </Session-Config>

里面设置时间,单位是分钟;

手动销毁Session :   session.invalidate(); 销毁Session

Session是一直在服务器中,而JESSIONID会随着浏览器的关闭而消失,所以可以设置JESSIONID的时间,

来让Session不会随着浏览器的关闭,而丢失.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值