获取session对象
1.在springmvc中
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
2.通过ServletActionContext获取
HttpServletRequest request = ServletActionContext.getRequest();
HttpSession session = request.getSession();
String userSession = request.getSession().getAttribute("userId")+StringUtil.EMPTY;
在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");
//
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。