java在session存取值和对象的一种方法

java在session存取值和对象的一种方法

在后台方法中存值的一种方式,将对象或者值用session的setAttribute(key,value);方法存值,

//登录方法
public BaseResult user_login(String userNO,String password,HttpSession session){
			
			BaseResult result = new BaseResult();
			User user = userService.login(userNO, password);
			loginJSON json= new loginJSON();
			if (user==null) {
				result.setSuccess(false);
				result.setMessage("用户名/密码错误");
			} else {
				result.setSuccess(true);
				result.setMessage("登陆成功");
				json.setUserData(user);
				json.setAllDept((List)userService.getAllDep(userNO).get("allDept"));
				json.setAuthDept((List)userService.getAllDep(userNO).get("authDept"));
				json.setCorwd(userService.getGE("corwd"));
				json.setMeetType(userService.getGE("meetType"));
				json.setOrganizer(userService.getGE("organizer"));
				result.setData(json);
			}
			//将对象封装到session中
			session.setAttribute("user",user);
			return result;
		}

取值我们可以用HttpServletRequest得到session,用session.getAttribute(key);得到value。
注意:HttpServletRequest可以当参数在方法中传递(需要一层层传递,并不推荐),也可以用如下代码在方法中的得到session。

HttpServletRequest request =((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); 
    	HttpSession session=request.getSession();
    	User user=(User) session.getAttribute("user");
    	//

版权声明:本文为qq_35504670原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。