java中的session对象如何获取
作者:徐卖狼
这篇文章主要介绍了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;
在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"); //
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。