本文主要是介绍HttpServletRequest-request.getRequestedSessionId()和request.getSession().getId()的区分,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
今天在做一个权限登录的时候,发现有一个很类似,但是还是很区别的。今天好好的学习一下。
首先看一下这个介绍session的文章,复习一下。
JavaWeb学习总结(十二)——Session
request.getSession().getId()
服务端创建,一个浏览器独占一个session对象(默认情况下),
HttpServletRequest中有:
-
HttpSession getSession(boolean var1);参数为false则为不自动创建对象,参数为true则为自动创建对象。然后获取得到这个对象
-
HttpSession getSession();
比如在多实例部署的时候,用户第一次登录的时候,我们可以将request.getSession().getId()作为key,然后将用户的信息作为value,存储到redis中,以方便下次请求需要权限验证的接口的时候的验证。
stringRedisTemplate.opsForValue().set(request.getSession().getId(), gson.toJson(authUser),30, TimeUnit.MINUTES);
request.getRequestedSessionId()
是客户端的,也就是浏览器里面的。比如在用户第一次登录的时候,这里是null,当用户登录了之后,服务端的request.getSession().getId()就会同步到这里。这里就会有了。该值和服务端的request.getSession().getId()是保持一致的。
这篇关于HttpServletRequest-request.getRequestedSessionId()和request.getSession().getId()的区分的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!