欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

spring?boot獲取session的值為null問題及解決方法

 更新時(shí)間:2023年05月29日 15:07:35   作者:喬路非  
我在登陸的時(shí)候,登陸成功后將name存進(jìn)了session,然后在獲取個(gè)人信息時(shí)取出session里的name的值為null,接下來通過本文給大家分享springboot獲取session的值為null問題,需要的朋友可以參考下

問題描述:

我在登陸的時(shí)候,登陸成功后將name存進(jìn)了session,然后在獲取個(gè)人信息時(shí)取出session里的name的值為null.

在login里存session:

在這里插入圖片描述

在getUserInfo里獲取session的name:

在這里插入圖片描述

控制臺(tái)結(jié)果:

在這里插入圖片描述

直接原因:

兩個(gè)session對象不同,即session.getId()的值不同

根本原因:

涉及前端傳參沒有攜帶cookie,后端不能證明是同一會(huì)話,故建的session不是同一個(gè)對象

解決方案:

本人前端是vue項(xiàng)目,故在main.js里添加:

axios.defaults.withCredentials = true

后端spring boot項(xiàng)目中添加:

CorsFilter.class
package com.postcode.item;
import org.springframework.stereotype.Component;
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@Component
@WebFilter(urlPatterns = "/*", filterName = "CorsFilter")
public class CorsFilter implements Filter {
    @Override
    public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
        HttpServletResponse response = (HttpServletResponse) res;
        HttpServletRequest reqs = (HttpServletRequest) req;
        String curOrigin = reqs.getHeader("Origin");
        response.setHeader("Access-Control-Allow-Origin", curOrigin == null ? "true" : curOrigin);
        response.setHeader("Access-Control-Allow-Credentials", "true");
        response.setHeader("Access-Control-Allow-Methods", "POST, GET, PATCH, DELETE, PUT");
        response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
        chain.doFilter(req, res);
    }
    @Override
    public void init(FilterConfig filterConfig) {
    }
    @Override
    public void destroy() {}
}
CorsFilter.class
import org.springframework.stereotype.Component;
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@Component
@WebFilter(urlPatterns = "/*", filterName = "CorsFilter")
public class CorsFilter implements Filter {
    @Override
    public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
        HttpServletResponse response = (HttpServletResponse) res;
        HttpServletRequest reqs = (HttpServletRequest) req;
        String curOrigin = reqs.getHeader("Origin");
        response.setHeader("Access-Control-Allow-Origin", curOrigin == null ? "true" : curOrigin);
        response.setHeader("Access-Control-Allow-Credentials", "true");
        response.setHeader("Access-Control-Allow-Methods", "POST, GET, PATCH, DELETE, PUT");
        response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
        chain.doFilter(req, res);
    }
    @Override
    public void init(FilterConfig filterConfig) {
    }
    @Override
    public void destroy() {}
}

最后結(jié)果:

在之前的基礎(chǔ)上多打印了session.getId(),可以看到兩個(gè)session的id相同,并且session里的name值也取到了

在這里插入圖片描述

參考資料:

cookie相關(guān)
Access-Control-Allow-Origin與跨域
Spring Boot如何解決前端的Access-Control-Allow-Origin跨域問題

到此這篇關(guān)于spring boot獲取session的值為null問題的文章就介紹到這了,更多相關(guān)spring boot獲取session的值為null內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 簡單介紹Java垃圾回收機(jī)制

    簡單介紹Java垃圾回收機(jī)制

    這篇文章主要介紹了簡單介紹Java垃圾回收機(jī)制,涉及一些相關(guān)的Java術(shù)語,Hotspot虛擬機(jī),jvm體系結(jié)構(gòu)等內(nèi)容,具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-12-12
  • Mybatis-plus常見的坑@TableField不生效問題

    Mybatis-plus常見的坑@TableField不生效問題

    這篇文章主要介紹了Mybatis-plus常見的坑@TableField不生效問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • Spring Boot面試題總結(jié)

    Spring Boot面試題總結(jié)

    這篇文章主要介紹了Spring Boot面試題總結(jié),本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-09-09
  • 基于LinkedHashMap實(shí)現(xiàn)LRU緩存

    基于LinkedHashMap實(shí)現(xiàn)LRU緩存

    LinkedHashMap是Java集合中一個(gè)常用的容器,它繼承了HashMap, 是一個(gè)有序的Hash表。那么該如何基于LinkedHashMap實(shí)現(xiàn)一個(gè)LRU緩存呢?本文將介紹LinkedHashMap的實(shí)現(xiàn)原理,感興趣的同學(xué)可以參考一下
    2023-05-05
  • Linux系統(tǒng)Docker拉取JDK21鏡像超細(xì)詳解

    Linux系統(tǒng)Docker拉取JDK21鏡像超細(xì)詳解

    這篇文章主要介紹了如何在Linux系統(tǒng)上使用Docker拉取JDK21鏡像,并基于該鏡像搭建開發(fā)和測試環(huán)境,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-12-12
  • SpringBoot中如何進(jìn)行全局異常處理方式

    SpringBoot中如何進(jìn)行全局異常處理方式

    在SpringBoot開發(fā)過程中,全局異常處理能提高程序的魯棒性并降低代碼耦合,通過使用@RestControllerAdvice和@ExceptionHandler注解,可以實(shí)現(xiàn)對程序異常的全局?jǐn)r截和處理,首先需要自定義一個(gè)繼承自ResponseEntityExceptionHandler的異常處理類
    2024-11-11
  • SpringCloud?Gateway?DispatcherHandler調(diào)用方法詳細(xì)介紹

    SpringCloud?Gateway?DispatcherHandler調(diào)用方法詳細(xì)介紹

    我們第一個(gè)關(guān)注的類就是DispatcherHandler,這個(gè)類提供的handle()方法,封裝了我們之后所有的handlerMappings,這個(gè)DispatcherHandler有點(diǎn)想SpringMVC的DispatchServlet,里面也是封裝了請求和對應(yīng)的處理方法的關(guān)系
    2022-10-10
  • jvm堆外內(nèi)存排查圖文舉例詳解

    jvm堆外內(nèi)存排查圖文舉例詳解

    Java應(yīng)用程序通過直接方式從操作系統(tǒng)中申請的內(nèi)存,叫堆外內(nèi)存,這篇文章主要給大家介紹了關(guān)于jvm堆外內(nèi)存排查的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • 使用Spring實(shí)現(xiàn)@Value注入靜態(tài)字段

    使用Spring實(shí)現(xiàn)@Value注入靜態(tài)字段

    這篇文章主要介紹了使用Spring實(shí)現(xiàn)@Value注入靜態(tài)字段方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • java.lang.OutOfMemoryError 錯(cuò)誤整理及解決辦法

    java.lang.OutOfMemoryError 錯(cuò)誤整理及解決辦法

    這篇文章主要介紹了java.lang.OutOfMemoryError 錯(cuò)誤整理及解決辦法的相關(guān)資料,需要的朋友可以參考下
    2016-10-10

最新評論