内置对象session与httpSession对象是同一个东西么
Session
session 是jsp的内置对象,在请求到达服务器时创建,是javax.servlet.http.HttpSession 类的对象,在jsp中session被称为会话。
会话:在打开浏览器开始时创建,在浏览器关闭时进行销毁,一个会话中包含多次请求与响应,web容器为每一个session在服务器内存中分配了独立的内存空间,用于session存储数据,session的核心是存储数据
session是私有的,当会话创建时,服务器将会形成SessionID,然后将生成的SessionID在服务器当前的会话的session存储空间中保存一份,再讲SessionID以Cookie的形式响应到客户端浏览器中一份。
session的常用方法:
1、getID() 返回值为String 用于获取当前session的SessionID
2、setAttribute(String , Object)返回值是void 用于向Session空间中存储对象(以键值对的形式保存)
3、getAttribute(String key)返回值是Object 根据键获取对象;
4、invalidate() 返回值是void 强制Session过期
5、removeAttribute(String) 返回值是void 用于从当前Session中空间中删除key对应的对象
6、getCreationTime()返回值是long,获取当前Session的创建时间
7、getLastAccessedTime()获得客户端最后一次请求服务器的时间
8、setMaxlnactivelnterval(int) 返回值是void 是指设置最大请求间隔时间,单位是秒
9、getMaxlnactivelnterval() 返回值是int类型,获得Session的最大请求间隔时间,单位为秒(只在当前页面中起作用)
10、isNew() 返回值是boolean类型,用于判断一个Session是不是一个新的Session
HttpSession
HttpSession 是服务器端的技术,服务器会为每一个用户创建一个独立的Session。 属于回话的之一。
当用户第一次访问Servlet时,服务器端会给用户创建一个独立的Session 并且生成一个SessionID,这个SessionID在响应浏览器的时候会被装进cookie中,从而被保存到浏览器中。
当用户再一次访问Servlet时,请求中会携带着cookie中的SessionID去访问,
服务器会根据这个SessionID去查看是否有对应的Session对象。有就拿出来使用;没有就创建一个Session(相当于用户第一次访问)。