java中的session對象如何獲取
更新時間:2021年11月08日 15:20:31 作者:徐賣狼
這篇文章主要介紹了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");
//
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

