使用情况(用购物网站举例):
1.需要获取当前登录用户的id,用来查询当前用户的购物车中的商品信息
操作:
可以在登录接口,做登录验证时将查到的用户信息保存在session中。
/**
* 用户登录
* @param parm
* @return
*/
@RequestMapping(value = "/userlogin",method = RequestMethod.POST)
public @ResponseBody ModelMap userlogin(@RequestParam Map<String,Object> parm, HttpServletRequest request, HttpServletResponse response) {
HttpSession session = request.getSession(true);
session.setMaxInactiveInterval(10*60);
SysUser strs = loginService.selectUser(parm.get("username").toString());
session.setAttribute("User",strs);
ModelMap map = new ModelMap();
map.put("SysUser",strs);
return map;
}
2.然后做好他的封裝類
public class SysUser{
/**
* 用户ID
*/
private Long user_id;
/**
* 部门ID
*/
private Long dept_id;
/**
* 登录账号
*/
private String login_name;
/**
* 用户昵称
*/
private String user_name;
注:不要忘記get、set
3.對session做好二次封裝
public class SessionUtils {
public static SysUser getSession(HttpServletRequest req){
HttpSession session = req.getSession();
SysUser user = (SysUser) session.getAttribute("User");
return user;
}
}
4.编写接口的时候就可以获取当前用户的信息了
String userID = sessionUtils.getSession(req).getuser_id().toString();