Cookie and Session

1. Cookie

cookie : name(key) -> value
javax.servlet.http.Cookie

cookie是由服务端产生,再发送给客户端保存。
           相当于本地缓存的作用。可以提高服务端的效率,但是安全性较差
常用方法

   public Cookie(String name ,String value)   //Cookie cookie = new Cookie("uname",zs)
   String getName();              //获得Name值
   String getValue();             //获得Value值
   void setMaxAge(int expiry);    //设置最大有效期(秒)

a.服务端准备Cookie:
           第一步:response.addCookie(Cookie cookie)
           第二步:页面跳转(转发,重定向)*-------(JSP页面跳转的两种方式)
b.客户端获取Cookie:
           request.getCookies(); 获取的为服务端的全部Cookie,通常用数组保存。
            建议cookie只保存 英文数字,否则需要进行编码,解码

2.Session

session(服务端) 中文翻译为:会话

例如:浏览网站:开始----关闭(一次会话)
           购物:浏览----付款----退出 (一次会话)

session执行机制:
       a. 客户端第一次请求服务端时,服务端会产生一个session对象(用于保存该客户端的信息)并且每个session 对象都会有一个唯一的sessionId(用于区分其他的session);
        b. 服务端又会产生一个cookie 并且该cookie的name = JSESSIONID ,value= 服务端sesssionId的值;
         c. 然后服务端会在响应客户端的同时,将该cookie发送给客户端,至此,客户端就有了一个cookie(JSSEIONID)与服务端的session一一对应
            客户端第二次在请求时,服务端会先用客户端的cookie中的JSESSIONID 与服务端session中的sessionid匹配,若匹配成功,则说明之前登陆过,就无需再次登录。

session方法:

    String getId():             //获取的sessionId
	Boolean isNew();             //判断是否为第一次访问、
	void invalidate();           //使session失效(退出登录,注销)
	void setAttribute();         //保存数据
	Object getAttribute();       //获得数据
	void setMaxInactiveInterval(秒) ;     //设置最大非活动时间
	int getMaxInactiveInterval();         // 查看最大非活动时间

3. Cookie与Session的区别

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值