首页 > 其他分享 >SpringBoot高级开发(9)Spring中的HttpSession

SpringBoot高级开发(9)Spring中的HttpSession

时间:2023-12-08 12:33:45浏览次数:33  
标签:SpringBoot Spring 前端 req session Cookie test HttpSession

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、

标签:SpringBoot,Spring,前端,req,session,Cookie,test,HttpSession
From: https://www.cnblogs.com/dongfangchun/p/17884905.html

相关文章

  • SpringBoot+线程池实现高频调用http接口并多线程解析json数据
    场景Springboot+FastJson实现解析第三方http接口json数据为实体类(时间格式化转换、字段包含中文):https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/134872936Java中ExecutorService线程池的使用(Runnable和Callable多线程实现):https://blog.csdn.net/BADAO_LIUMAN......
  • Springboot+FastJson实现解析第三方http接口json数据为实体类(时间格式化转换、字段包
    场景若依前后端分离版手把手教你本地搭建环境并运行项目:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/108465662在上面搭建SpringBoot项目的基础上,并且在项目中引入fastjson、hutool、lombok等所需依赖后。系统需要对接第三方http接口获取返回的数据,并将json数......
  • 记录springboot的一次使用socketio的经历
    pom中加入依赖<dependency><groupId>com.corundumstudio.socketio</groupId><artifactId>netty-socketio</artifactId><version>2.0.6</version></dependency>......
  • MySQL服务器8核32G max_connections设置为10000的情况,springboot里面的Druid参数配置
    MySQL服务器8核32Gmax_connections设置为10000的情况,springboot里面的Druid参数配置多少合适啊,MySQL服务器8核32G,max_connections设置为10000,确实是相当大的一个配置啊。对于Druid的参数配置,得看你系统的具体情况。一般来说,你可以考虑以下几个参数:initialSize:连接池的初始大小,你......
  • springboot蜗牛兼职网的设计与实现-计算机毕业设计源码+LW文档
    摘 要随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,蜗牛兼职网当然也不能排除在外。蜗牛兼职网是以实际运用为开发背景,运用软件工程原理和开发方法,采用springboot框架构建的一个管理系统。整个开发过程首先对软件系......
  • @SpringBootTest与@RunWith注解的区别
    @SpringBootTest与@RunWith注解的区别@SpringBootTest与@RunWith注解的区别在于:@SpringBootTest是spring的注解,用于加载ApplicationContext,启动spring容器;而@RunWith是junit的注解,它指定了junit测试的时候使用的Runner(运行器)类。通常@SpringBootTest与@RunWith这两个是配合使......
  • @RunWith(SpringRunner.class)注解的作用
    @RunWith(SpringRunner.class)注解的作用通俗点:@RunWith(SpringRunner.class)的作用表明Test测试类要使用注入的类,比如@Autowired注入的类,有了@RunWith(SpringRunner.class)这些类才能实例化到spring容器中,自动注入才能生效官方点:@RunWith注解是JUnit测试框架中的一种注解,......
  • java 单元测试之 - Spring框架提供的单元/集成测试注解
    java单元测试之-Spring框架提供的单元/集成测试注解Spring框架提供了很多注解来辅助完成单元测试和集成测试(备注:这里的集成测试指容器内部的集成测试,非系统间的集成测试),先看看Spring框架提供了哪些注解以及对应的作用。@RunWith(SpringRunner.class)/@ExtendWith(Spring......
  • springboot018母婴商城-计算机毕业设计源码+LW文档
    一、选题背景以母婴人群和准母婴人群及其家庭群体为目标用户。站在整个社会产业的角度,有些产业为所有用户提供某类基本需求,有些产业为某类用户提供某类特定需求,而母婴产业是最终满足特定人群相关多元化需求的一个宽辐射市场。母婴产品及服务最终以线上与线下为出口抵达用户,从市场......
  • springboot019高校心理教育辅导设计与实现-计算机毕业设计源码+LW文档
    1.1选题的意义和目的当今社会,经济飞速发展,科技日新月异,人际关系复杂多变,整个社会生活节奏越来越快,人们承受的生活压力越来越大。而对于在校大学生来说,他们还未完全融入到社会之中,但他们却依然要面对这些社会问题,他们要不断地学习新的知识,要开始学会如何解决身边地人际关系问题,要面......