Spring Boot学习笔记(十五)Spring Boot Session共享实例

本文介绍了如何在Spring Boot应用中使用Redis实现Session共享,详细讲解了Spring Session的配置和工作原理,包括设置Session失效时间、存储Session数据以及通过复制项目并更改端口验证Session共享的效果。此外,还提到了在实际应用中利用Session共享保存用户登录状态,避免跨页面重复登录的需求。
摘要由CSDN通过智能技术生成

Spring Boot Redis Session共享实例

长话短说

  • Session
    • HTTP 协议是无状态的协议,所以服务端需要记录用户的状态时,就需要某种机制来识具体的用户。而Session 是一种记录客户状态的机制,不同的是 Cookie 保存在客户端浏览器中,而 Session 保存在服务器上。
    • 客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上。这就是 Session。客户端浏览器再次访问时只需要从该 Session 中查找该客户的状态。
  • Spring Session
    • Spring Session 提供了一套创建和管理 Servlet HttpSession 的方案。Spring Session 提供了集群Session(Clustered Sessions)功能,默认采用外置的 Redis 来存储 Session 数据,以此来解决 Session 共享的问题.
    • Spring Session 的核心项目并不依赖于 Spring 框架,所以不使用Spring框架的项目也能使用session
  • 访问 https://start.spring.io/, 生成项目压缩包,解压后用IDEA打开, 项目结构如下:
    在这里插入图片描述
    在这里插入图片描述

  • pom.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.1.8.RELEASE</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
        <groupId>wen</groupId>
        <artifactId>session</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <name>session</name>
        <description>Demo project for Spring Boot</description>
    
        <properties>
            <java.version>1.8</java.version>
        </properties>
    
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-cache</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
    
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjso
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值