要看是不是一个东西先看它们的定义,如下:
session对象
(1)定义
session对象指的是客户端与服务器端的一次会话,从客户端连到服务器端的一个Web应用程序开始,知道客户端与服务器断开为止。
(2)session对象的ID
Web服务器会给每一个用户自动创建一个session对象,为每个session对象分配一个唯一标识的String类型的session ID,这个ID用于区分其他用户。这样每个用户都对应一个session对象,不同的用户的session对象互不相同。session对象调用getId的方法就可以获取当前的session对象的ID。
(3)session对象的生命周期
①用户是否关闭浏览器
②session对象是否调用invalidate()方法。
③session对象是否达到设置的最长“发呆”时间。
HttpSession对象
(1)定义
HttpSession是Java平台对session机制的实现规范
(2)原理
HttpSession原理
当用户第一次访问Servlet时,服务器端会给用户创建一个独立的Session
并且生成一个SessionID,这个SessionID在响应浏览器的时候会被装进cookie中,从而被保存到浏览器中
当用户再一次访问Servlet时,请求中会携带着cookie中的SessionID去访问
服务器会根据这个SessionID去查看是否有对应的Session对象
有就拿出来使用;没有就创建一个Session(相当于用户第一次访问)
总的来说:session对象指的是客户端与服务器端的一次会话,从客户端连到服务器端的一个Web应用程序开始,知道客户端与服务器端断开为止。而HttpSession是Servlet中可以使用的域对象在Servlet中,session指的是HttpSession类的对象。当需要为用户端建立一个session时,Servlet就创建了一个HttpSession对象,其中存储了和本session相关的信息。