java中的session对象如何获取

获取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;

java中的session对象如何获取_第1张图片

在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");
     //

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

你可能感兴趣的:(java中的session对象如何获取)