java EE -Session

java
Author

dd21

Published

December 5, 2022

1、Session对象:

1.1 什么是session

session是一种会话赶礼技术,seession,用来保存会话过程中的数据,保存的数据存储到服务器端

1.2 原理

session是基于cookie实现的. 当session被创建时,会在服务器端开辟一块session空间,并把该空间的秘钥(JESSIONID)返回给浏览器, 用户拿到钥匙后对页面进行请求,将秘钥携带在请求头中(set-Cookie:JSEEIONID=111) ## 1.3 HttpSession API

session 常用方法:
①得到session的id(JESSIONID对应的值):getId();
② 设置session的生命时长:setMaxInactiveInterval(int interval)
③销毁session: invalidate();
③得到session:HttpSession session = getSession();
session域对象:作用范围  一次完整的会话(包含多个请求)
①存值:setAttribute(String key,Object obj);
②取值:Object obj = getAttribute(String key);
③移除值:removeAttribute(String key)

总结域对象:

request对象,session,servletContext对象,作用范围依次变大。
request域对象:再用用范围是一次请求,通常和转发操作配合使用
session域对象:作用范围一次会话,通常和重定向配合使用
servletContext域预想:作用范围整个项目,和重定向、转发操作、都可以配合使用。

1.4 session超时 session对象有生命时长,他的默认存活时间是30分钟, 具体配置套tomcat软件中的conf下的文件,

<session-timeout>30</session-timeout>

立即销毁session对象:invalidate