SpringMVC框架获取session

本文详细介绍如何在Spring框架中使用原生session对象进行会话管理,包括通过HttpSession、@SessionAttributes注解、java.util.Map、ModelMap及Model等方式将User对象存入session,确保数据在用户会话期间持久化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过原生session对象

获取原生session对象只需要在控制类的目标方法中加入一个HttpSession类型的形参

public class Session {
 @RequestMapping("/getSession")
	public String getSession(User user,HttpSession session){
	  session.setAttribute("CURR_USER", user);
		return "index";
	}
}

通过注解的方式获取

通过在控制类上方加入注解@SessionAttributes(value={"CURR_USER"},types={User.class})来指定session值的类型以及key值,通过方法中类型或者key值的匹配来实现自动往session中赋值
注意:在注解中key值或类型有任意一个匹配,此对象都会被赋值到session域中
如果不写注解@SessionAttributes(value={"CURR_USER"},types={User.class}),则其作用域为request

有三种方法
  1. 通过java.util.Map方式
@SessionAttributes(value={"CURR_USER"},types={User.class})
@Controller
public class Session {
@RequestMapping("/getSession")
   	public String getSession(User user,Map<String, Object> map){
   	  map.put("CURR_USER", user);
   		return "index";
   	}
}
  1. 通过ModelMap方式
 @SessionAttributes(value={"CURR_USER"},types={User.class})
@Controller
 public class Session {
@RequestMapping("/getSession")
	public String getSession(User user,ModelMap map){
	  map.put("CURR_USER", user);
		return "index";
	}
}
  1. 通过Model方式
 @SessionAttributes(value={"CURR_USER"},types={User.class})
@Controller
public class Session {
@RequestMapping("/getSession")
   public String getSession(User user,Model model){
     model.addAttribute("CURR_USER", user);
   	return "index";
   }
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值