Session的介绍与使用(顺带cookie和sessionId)

什么是Session?

存在服务器(tomcat为例子)的一个会话管理对象

什么是Cookie?

 存在浏览器端的一个小型文本文件(用来存相关数据的)

什么是SessionId?

用来获取Session回话的一个序列号(由随机值 + 实际 + jvm的id)jvm的id由硬件信息计算得出

Session是什么时候创建的?

HttpSession session =requset.getSession();创建得到,
同时可以通过session.getId()得到  SessionId

Session和Cookie的作用?

都是用来存用户的数据信息,都有有效期,都可以通过对应手段存到文件中

(Cookie在使用的过程中是在内存中的,关闭浏览器就会消失)除非存文件中

(Session存在服务器中,有一定的存储时间)

实际的开发之间的使用流程

一、浏览器请求服务器,在服务器上通过request.getSession()产生session对象

HttpSession session =requset.getSession();

二、通过产生的session对象获取sessionId 

String sessionId = session.getId()

三、将sessionId返回给浏览器,存进cookie中

  1. 获取cookie
    Cookie[] cookies = request.getCookies();
  2. 对cookie进行操作(增、删、改、查、存)
     
  3. 返回给浏览器
    response.addCookie(cookie);

    Cookie的相关操作

    创建方式获取cookie对象:    Cookie cookie = new Cookie(name, value);

    已有方式获取Cookie对象:    Cookie[] cookies=req.getCookies();

    Cookie对象中的数据操作: 
               1、 获取名称:cookie.getName()
               2、 获取值: cookie.getValue()
               3、设置名称:cookie.setName()
               4、设置值:cookie.setValue()

    设置Cookie的存留时间 例如:cookie.setMaxAge(365 * 24 * 60 * 60);单位秒

    保存Cookie对象到浏览器:response.addCookie(cookie);

    设置Cookie存储路径:cookie2.setPath("/");

更新Session中的数据

session.setAttribute 保存(方法会默认保存)
session.getAttribute 获取
发布了242 篇原创文章 · 获赞 13 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_41813208/article/details/103776211