1、简述
HttpSession是javaWeb提供的,用来处理会话事务的。session数据保存在后台,当然首次开启会话(即调用req.getSession())的时候也会将该SessionID数值传给前端用作Cookie
2、作用范围
首次访问服务器开始,浏览器关闭后就结束。后端的Session可以存储30分钟,如果30分钟无任何请求,就自动删除。
3、流程
假设后端一个接口如下
@RequestMapping("/test")
public HashMap<String,Object> test(HttpServletRequest req) {
HttpSession session = req.getSession();
session.setAttribute("test", "no");
return XXXXX;
}
step1:前端首次访问/test,此时请求头不带任何Cookie。后端test函数接收到请求后,由于调用了req.getSession()函数,所以后端会创建一个session对象保存在后台,并且在请求返回之后自动给前端植入一个JSESSIONID=XXXXX的Cookie
step2:前端第二次访问的时候,此时请求头自动携带了JSESSION=XXXX的Cookie数据。此时后端的session就是step1中产生的session对象,对量里可以通过setAttr和getAttr来读写基于这个用户的数据。
step3:如果用户关闭浏览器。那么前端的这个JSESSIONID得Cookie就没了。后端的session对象,如果30分钟无任何请求,就自动删除。
此过程中,前端什么都不用做。
4、
- HttpSession SpringBoot Springhttpsession springboot spring httpsession httpservletrequest servletcontext httpsession httpsession getsession session request springboot参数spring httpsession对象servlet p6 springboot graalvm spring native springboot project spring maven springboot2 springboot spring3 spring elasticsearch springboot3 springboot spring