Cookie与Session

Cookie是服务器创建并保存在浏览器上的键值对集合,用于客户端和服务器间的数据传递。它可以通过setMaxAge设置过期时间,但安全性较低。Session存储在服务器端,保存用户会话数据,如登录状态和用户偏好,通过HttpSession接口操作。Session比Cookie安全,但存储数据类型受限。两者在数据持久性和安全性上有显著差异。
摘要由CSDN通过智能技术生成

Cookie是什么?

Cookie是一种用于在客户端和服务器之间传递数据的机制.可以理解为 由服务器创建保存在浏览器上的一些列键值对集合。

Cookie的常用方法:

1.创建Cookie

Cookie对象需要一个名称和一个值作为参数。

Cookie cookie = new Cookie("cookieName","cookievalue");

2.设置Cookie

设置cookie的最大存活时间:

cookie.setMaxAge(3600); // 设置过期时间为1小时

3.从请求中获取Cookie:可以使用HttpServletRequest对象的getCookies()方法获取请求中的所有Cookie。

Cookie[] cookies = request.getCookies();

4.使用Cookie值:可以通过Cookie对象的getValue()方法获取Cookie的值。

String cookieValue = cookie.getValue();

5.发送Cookie到客户端:为了将Cookie发送给客户端,需要使用HttpServletResponse对象的addCookie()方法。

response.addCookie(cookie);

6.删除Cookie:要删除Cookie,可以创建一个具有相同名称的Cookie,并将其maxAge设置为0,然后将其发送给客户端。

Cookie cookie = new Cookie("cookieName", "");
cookie.setMaxAge(0);
response.addCookie(cookie);

一般的流程:

1.服务器端创建Cookie后,可以设置设置Cookie的有效时间,然后添加到reponse响应中将数据响应给客户端然后保存在服务器中

Cookie cookie = new Cookie("username","admin");
cookie.setMaxAge(3600); // 设置过期时间为1小时
reponse.addCookie(cookie);

2.要获取存在客户端的Cookie,客户端向服务器发起请求,都会将cookie数据带回给服务器。

Cookie cooks[] = request.getCookies();

Cookie的特点:

1.安全性低

2.通过key-value键值对形式存在客户端(浏览器).

Cookie的应用:

1.记住登录转态,优化登录过程.

2.用户偏好设置:网站可以使用Cookie来存储用户的偏好设置,例如显示语言、主题选择、字体大小等。每当用户访问网站时,服务器可以通过读取Cookie来提供定制化的用户体验。

Session

主要类是HttpSession

主要的方法:

1.HttpSession获取

 HttpSession  session = request.getSession();

2.保存数据

  session.setAttribute(key,value)

3.获取数据

    session.getAttribute(key)

3.删除数据

session.removeAttribute(key)

会话的概念:

会话是指一个终端用户与交互系统进行通讯的过程. 例如:从进入某个Web应用到退出系统或者关闭浏览器的过程即一次会话。

Servlet域对象 -ServletContext : 整个应用运行过程中 -HttpSession: 会话开始到结束 -HttpServletRequest: 一次请求开始到请求结束 域对象方法: -setAttribute(String key,Object value) -removeAttribute(String key) -getAttribute(String key) 应用: -登录后用户信息的共享

Session的原理:

1.客户端向服务器发起请求,请求中的Cookie保存JSSIONID 2.在服务器中根据SESSONID查询Hashtable,如果没有查询到 对应的Session对象,说明会话刚刚开始,则创建Session对象。 并且保存在Hashtable中。 如果有相应SessionID的Session对象则返回。 3.如果是一个新建的SESSION对象,则会将sessionid存入cookie, 响应客户端后,保存在客户端。

Cookie与Session的区别:

1.Session存在服务器端,Cookie存在客户端。 2.Session存储Object类型数据,Cookie存储String类型数据。 3.Session是安全的,Cookie是不安全。 4.Session会话结束即销毁数据 cookie可以长期保存在客户端

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值