SpringMVC框架获取session

通过原生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";
   }
}

猜你喜欢

转载自blog.csdn.net/qq_36677358/article/details/84561261