java中关于request.getSession()的几种获取方式
    request.getSession()
    这是常用的方式,从当前request中获取session,如果获取不到session,则会自动创建一个session,并返回新创建的session;如果获取到,则返回获取到的session;

    1. @Autowired //自动加载业务层接口
    2. private UsersService usersService;
    3. /**
    4. * 用户登录
    5. *
    6. * @param request
    7. * @param users
    8. * @return
    9. */
    10. @PostMapping("/login")
    11. public R<Users> login(HttpServletRequest request, @RequestBody Users users) {
    12. //1.将页面提交的密码password进行md5加密处理
    13. String password = users.getPassword();
    14. password = Sha256Util.sha256(password);//sha256加密
    15. // password = DigestUtils.md5DigestAsHex(password.getBytes());//md5加密
    16. //2.根据页面提交的用户名userName查询数据库
    17. LambdaQueryWrapper<Users> lqw = new LambdaQueryWrapper<>(); //条件对象
    18. lqw.eq(Users::getUserId, users.getUserId()); //判断数据库里是否有相同的用户名
    19. Users res = usersService.getOne(lqw); //查询一条记录
    20. //3.如果没有查询到则返回登录失败结果
    21. if (res == null) {
    22. return R.error("用户名不存在");
    23. }
    24. //4.密码比对,如果不一致则返回登录失败结构
    25. if (!res.getPassword().equals(password)) {
    26. return R.error("密码不正确");
    27. }
    28. //5.查看员工状态,如果为已禁用,则返回用户禁用信息
    29. if (res.getIsuse() == 1) {
    30. return R.error("账号已经被禁用");
    31. }
    32. //6.登录成功,将员工id存入Session并返回登录成功结果
    33. request.getSession().setAttribute("users", res.getId());
    34. return R.success(res);
    35. }