springboot后台session的存储与取出方式

这篇文章主要介绍了springboot后台session的存储与取出方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

springboot后台session的存储与取出
springboot使用session保存和获取参数
保存数据到session
从session获取保存到数据
总结

springboot后台session的存储与取出
session后台的存储,工具类代码如下:

//将数据存入session
public class SetSessionUtil {
    public static void setSession(HttpServletRequest request,String SessionName,String SessionValue) {
        HttpSession session = request.getSession();
        session.setAttribute(SessionName,SessionValue);
    }
}

session后台的获取,工具类代码如下:

//获取session
public class GetSessionUtil {
    public static String getSession(HttpServletRequest request, String sessionName) {
        HttpSession session = request.getSession();
        String sessionValue = (String) session.getAttribute(sessionName);
        return sessionValue;
    }
}

session的清除,代码如下:

HttpSession session = HttpServletRequest.getSession();
session.invalidate();

前端 thymeleaf 取出 session 中的值,代码如下:

<img th:src="${session.head_pic}">

springboot使用session保存和获取参数
记录一下spring boot使用Session来保存和获取参数的方法。

下面通过用户登录后保存用户名和密码为例子演示一下,步骤在代码注释中有。

保存数据到session

@RequestMapping("/login")
    public String login(HttpServletRequest request, @RequestParam("userName") String userName, @RequestParam("passWord") String passWord) {
        String res = userService.check_userName(userName);
        if (!res.equals("registed")) {
            return "userName has not registed";
        }    
        String str = userService.check_userName_and_passWord(userName, passWord);
        if (str.equals("success")){
            //第一步:获取session
            HttpSession session = request.getSession();
            //第二步:将想要保存到数据存入session中
            session.setAttribute("userName",userName);
            session.setAttribute("password",passWord);
            //这样就完成了用户名和密码保存到session的操作
        }
        return str;
    }

从session获取保存到数据

@RequestMapping("/index")
public class IndexController {
 
    @Autowired
    HttpServletRequest request; //通过注解获取一个request
     
    @RequestMapping("/getName")
    public String getName() {
        //通过request来获取保存在session中的用户名
        String userName = (String) request.getSession().getAttribute("userName");
        System.out.println(userName);
        return userName;
    }
}

这样就可以使用session来操作数据了,是不是很简单~~

总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持vb.net教程C#教程python教程SQL教程access 2010教程xin3721自学网

要在 Vue 中获取 Spring Boot 后台session,需要在后台返回的响应头中设置 session 的信息,然后在 Vue 中可以通过 axios 拦截器获取到响应头中的 session 信息。 在 Spring Boot 中,可以使用 Spring Session 来处理 session,具体操作如下: 1. 引入 Spring Session 的依赖 在 pom.xml 文件中添加以下依赖: ```xml <dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-core</artifactId> </dependency> ``` 2. 配置 Redis Spring Session 默认使用 Redis 存储 session,需要在 application.properties 文件中配置 Redis: ```properties spring.redis.host=localhost spring.redis.port=6379 ``` 3. 配置 Spring SessionSpring Boot 启动类上添加 @EnableRedisHttpSession 注解,开启 Spring Session: ```java @SpringBootApplication @EnableRedisHttpSession public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } ``` 4. 设置 session 在需要设置 session 的地方,可以使用 HttpServletRequest 的 getSession() 方法来获取 session 对象,然后设置相应的 session 属性: ```java @Controller public class TestController { @GetMapping("/setSession") @ResponseBody public String setSession(HttpServletRequest request) { HttpSession session = request.getSession(); session.setAttribute("username", "test"); return "session set success"; } } ``` 在 Vue 代码中,可以使用 axios 的拦截器来获取响应头中的 session 信息,具体代码如下: ```javascript import axios from 'axios'; axios.interceptors.response.use( response => { const session = response.headers['session']; if (session) { // 将 session 存储到本地 localStorage.setItem('session', session); } return response; }, error => { return Promise.reject(error); } ); ``` 在需要使用 session 的地方,可以通过 localStorage.getItem('session') 来获取存储在本地的 session 信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值